开发者

Getting TypeError: delete_message() missing 1 required positional argument: 'self', when trying to delete a Bot message in Telegram Bot

I am using 'python-telegram-bot' when trying to delete the previous message send by the Bot above got raised!

my code:

updater = Updater(BOT_TOKEN, use_context=True)
dispatcher = updater.dispatcher

def start (update: Update, context: CallbackContext):
    msg_info = update.message.reply_text('Hi')
    print(msg_info)
    msg_id = msg_info['message_id']
    chat_id = msg_info['chat']['id']
    from telegram import Bot
    status = Bot.delete_message(chat_id=chat_id, message_id=msg_id)
    print(status)

def handle_inputs (upd开发者_StackOverflowate: Update, context: CallbackContext):
    comd = update.message.text
    if (comd == '/start'): 
        start(update, context)
    else:
        update.message.reply_text("Sorry '%s' is not a valid command" % update.message.text)
       
def main():
    
    updater.dispatcher.add_handler(MessageHandler(Filters.text, handle_inputs))
    
    updater.start_polling()

if __name__ == '__main__':
    main()

I am new to Telegram bot. What I've tried is checking the some documentation, but still couldn't pass through the problem. I just want to delete the message which is currently send by the bot


Please look at the following example.

You using the class instead the instance. Bot is a class object. You need bot = Bot('token'). bot is now an instance of type Bot. and now bot.delete_message() will work as now self is defined.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜