python - 将请求从机器人发送到聊天日志
问题描述
如何让一个人写信给机器人/报告,然后写他不喜欢的内容,并将此请求发送到聊天日志或管理员的私人消息?
我有一个类似的命令,但它只适用于公共聊天,我需要一个人在机器人中写/报告,然后说明原因,这个请求就用日志进入聊天
这是一个报告命令的示例,但它仅适用于公共聊天,对我来说它专门用于机器人。几乎所有机器人都有类似的“帮助”按钮,我想做类似的事情,如果你能提供帮助,我将不胜感激:
@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
解决方案
推荐阅读
- c# - PackageReference 不使用 ExcludeAssets = "runtime" 和 PrivateAssets = "none" 将 dll 复制到消费者(测试)项目输出
- javascript - 使用 Vue Leaflet 在每个 l-geojson 组件中放置一个标签
- javascript - 改变highchart散点图的点类型
- c# - 如何以编程方式登录 SharePoint Online 并获取 Web HTML?
- filter - 使用 Ironpython 脚本在表之间过滤和传递过滤器选择
- vbscript - 解密函数使用特殊字符给出错误结果
- javascript - 简单的 js forloop 只迭代一次
- flutter - 我可以在 Flutter 底部导航栏中的图标周围添加间距吗?
- javascript - 如何修改此正则表达式使其不匹配 * * *
- java - 哪个 Spring Annotation 与来自 MQTTCallBack 的 messageArrived 一起使用