2017-09-28 52 views
0

我使用Python-Telegram-Bot框架和Re模塊創建電報機器人。 機器人應該刪除成員發送給羣組的標籤,也就是說,當單詞start發送給羣組時,它將刪除在羣組start之後發送的機器人標籤。電報機器人不會從羣組中刪除貼紙

我的代碼:

​​

但機器人不工作,也就是發送的話start發送到組後,不會刪除發送到該組的貼紙。

該代碼不會給出任何錯誤。而且該組是一個超級組,並且該bot是管理員並且可以訪問消息!

你認爲是什麼問題?

+0

是機器人組管理員? –

+0

@Ali Hashemi組中的機器人管理員。 – Sajjad

回答

0

這條線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() 
+0

這不行! – Sajjad