首页 > 解决方案 > 将请求从机器人发送到聊天日志

问题描述

如何让一个人写信给机器人/报告,然后写他不喜欢的内容,并将此请求发送到聊天日志或管理员的私人消息?

我有一个类似的命令,但它只适用于公共聊天,我需要一个人在机器人中写/报告,然后说明原因,这个请求就用日志进入聊天

这是一个报告命令的示例,但它仅适用于公共聊天,对我来说它专门用于机器人。几乎所有机器人都有类似的“帮助”按钮,我想做类似的事情,如果你能提供帮助,我将不胜感激:

@dp.message_handler(commands=['r', 'report'])
async def report(message: types.Message):
 try:
  if message.text == '/report' or message.text == '/r' or not message.reply_to_message:
   await bot.send_message(message.chat.id, 'Введите причину репорта отвечая на сообщение с нарушением в формате /report spam|flud|18+ или другое')
  else:
   members = await message.chat.get_member(message.reply_to_message.from_user.id)
   info = await bot.get_chat_member(message.chat.id, message.from_user.id)
   report = message.text.replace('/r ', '')
   report = report.replace('/report ', '')
   admins = await bot.get_chat_administrators('@' + message.chat.username)
   send = 0
   for admin in admins:
    if admin.user.username != 'modermodBot':
     try:
      await bot.send_message(admin.user.id, f' Репорт по причине ' + str(report) + f'\nhttps://t.me/{message.chat.username}/{message.reply_to_message.message_id}')
     except:
      pass
     send += 1

   if send == 0:
    await bot.send_message(message.chat.id, 'Админы не оповещены, для отправки им репортов надо чтобы они запустили меня в лс!')
   else:
    await bot.send_message(message.chat.id, 'Админы оповещены')
 except:
  pass

标签: python

解决方案


推荐阅读