2017-09-01 52 views
0

我用python-telegram-bot模塊構建了一個電報機器人。我將機器人添加到組中,機器人在管理group.The機器人應該是當貼紙,GIF或語音發送到組中刪除;而機器人不會刪除them.bot代碼:電報機器人應該刪除發送給該組的郵件,但不刪除它們

from telegram.ext import Updater, MessageHandler, Filters 

def sticker_method(bot, update): 
    bot.delete_sticker(chat_id = update.message.chat_id, sticker_id = update.sticker.chat_id) 
    bot.delete_gif(chat_id = update.message.chat_id, gif_id = update.gif.chat_id) 
    bot.delete_voice(chat_id = update.message.chat_id, voice_id = update.voice.chat_id) 


def main(): 
    updater = Updater(token='TOKEN') 
    dispatcher = updater.dispatcher 
    dispatcher.add_handler(MessageHandler(Filters.all, sticker_method)) 

    updater.start_polling() 
    updater.idle() 


if __name__ == '__main__': 
    main() 
# for exit 
# updater.idle() 

有執行過程中沒有錯誤;但是,機器人什麼都不做

回答

0

在這個庫中沒有delete_sticker,delete_gifdelete_voice方法。你在找什麼是bot.delete_message()

您也可以使用一些廣泛的過濾器,例如Filters.stickerFilters.voice

更多信息(編輯):

例如,你可以做(​​與Filters.sticker使用和):

def delete_sticker_callback(bot, update): 
    update.message.delete() 


def main(): 
    updater = Updater(token='TOKEN') 
    dispatcher = updater.dispatcher 
    dispatcher.add_handler(MessageHandler(Filters.sticker, delete_sticker_callback)) 

    updater.start_polling() 
    updater.idle() 


if __name__ == '__main__': 
    main() 
+0

我的英語不是很好,我不能閱讀網頁,你說,請更正我的代碼 – Sajjad

+0

我更新了答案,其中包含關於在接收到某種類型的消息時刪除消息的最小示例。 – jeffffc

相關問題