我使用Python-Telegram-Bot框架和Re模块创建电报机器人。 机器人应该删除成员发送给群组的标签,也就是说,当单词start
发送给群组时,它将删除在群组start
之后发送的机器人标签。电报机器人不会从群组中删除贴纸
我的代码:
但机器人不工作,也就是发送的话start
发送到组后,不会删除发送到该组的贴纸。
该代码不会给出任何错误。而且该组是一个超级组,并且该bot是管理员并且可以访问消息!
你认为是什么问题?
我使用Python-Telegram-Bot框架和Re模块创建电报机器人。 机器人应该删除成员发送给群组的标签,也就是说,当单词start
发送给群组时,它将删除在群组start
之后发送的机器人标签。电报机器人不会从群组中删除贴纸
我的代码:
但机器人不工作,也就是发送的话start
发送到组后,不会删除发送到该组的贴纸。
该代码不会给出任何错误。而且该组是一个超级组,并且该bot是管理员并且可以访问消息!
你认为是什么问题?
这条线if re.match(i, update, message.text):
是问题所在。您在update
对象中搜索i
(其值为/start
)。我不明白为什么这应该工作。
您需要检查当前消息是否为贴纸。如果消息是贴纸,则update.effective_message.sticker
将返回一个值。否则它将返回None
。所以你可以检查一个贴纸与我猜 - 我没有测试它:
from telegram.ext import Updater, MessageHandler, Filters
def delete_sticker(bot, update):
if update.effective_message.sticker:
update.message.delete
if __name__ == '__main__':
updater = Updater(token='TOKEN')
dispatcher = updater.dispatcher
dispatcher.add_handler(MessageHandler(Filters.all, delete_sticker))
updater.start_polling()
updater.idle()
这不行! – Sajjad
是机器人组管理员? –
@Ali Hashemi组中的机器人管理员。 – Sajjad