我使用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