【发布时间】:2017-08-13 12:46:38
【问题描述】:
我用 python-telegram-bot 制作了一个电报机器人。我已经为机器人定义了一个单词列表,我想管理组中的聊天机器人。也就是说,如果在定义的列表中找到聊天中的单词,机器人将删除它。我将机器人添加到一个组并在那里管理它。 bot 应该控制发送到组的消息,如果消息中有一个单词在 mlist 上,则 bot 应该删除该消息。我的代码:
# -*- coding: cp1256 -*-
#!/usr/bin/python
import os, sys
from telegram.ext import Filters
from telegram.ext import Updater, MessageHandler
import re
def delete_method(bot, update):
if not update.message.text:
print("it does not contain text")
return
mlist=['Hello', 'سلام']
for i in mlist:
if re.search(i, update.message.text):
bot.delete_message(chat_id=update.message.chat_id,message_id=update.message.message_id)
def main():
updater = Updater(token='TOKEN')
dispatcher = updater.dispatcher
dispatcher.add_handler(MessageHandler(Filters.all, delete_method))
updater.start_polling()
updater.idle()
if __name__ == '__main__':
main()
【问题讨论】:
-
你能告诉我们为什么它不起作用吗?返回什么样的错误?
-
你是否关闭了该机器人的隐私模式
-
@SmartManoj ;否
-
@91DarioDev; bot 应该在将 mlist 中的波斯语消息发送到组时删除消息,但它不会这样做,但如果 mlist 中的消息是拉丁文并将发送到组,则消息将被删除。 .完全没有错误
-
编辑我的代码。
标签: python python-telegram-bot