我使用Python telegram bot框架和Re模块创建了一个telegrambot。
bot应该删除成员发送给组的标签,也就是说,当单词start
发送给组时,它将删除在组start
之后发送的bot标签。在
我的代码:
from telegram.ext import Updater, MessageHandler, Filters
import re
def delete_method(bot, update):
mlist=['/start']
for i in mlist:
if re.match(i, update, message.text):
update.message.delete()
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()
# for exit
# updater.idle()
但是bot不工作,也就是说,在将send的单词start
发送到组之后,它不会删除发送到组的标签。在
代码没有给出任何错误。和该组是一个超级组,机器人是管理员,它可以访问消息!在
你觉得问题是什么???在
这里的这一行
if re.match(i, update, message.text):
就是问题所在。您正在update
对象中搜索i
(其值为/start
)。我不明白这为什么有用。在您需要检查当前消息是否是贴纸。如果消息是贴纸,则
update.effective_message.sticker
将返回一个值。否则它将返回None
。所以你可以用这个来检查贴纸我想-我没试过:相关问题 更多 >
编程相关推荐