简体   繁体   中英

How to get the message id telegram channel from my bot and remove that message?

hi and thanks for your answer. i want to create a bot for forward message to my channel and delete the last message every 1 minute i made that but i have some problem for removing the last message. i cant get the last message id from my channel to the bot.

my source is:

from telegram.bot import Bot
from telegram.update import Update
from telegram.ext.updater import Updater
from telegram.ext.callbackcontext import CallbackContext
from telegram.ext.messagehandler import MessageHandler
from telegram.ext.filters import Filters
from telegram.chataction import ChatAction
from time import sleep
import telegram_send
import socket
import telegram
import json


api_key="My API Key"
user_id = "My User Id"

updater = Updater(api_key, use_context=True)
bot = telegram.Bot(token=api_key)


def echo(update: Update, context: CallbackContext):

    context.bot.send_chat_action(chat_id=update.effective_chat.id, action=ChatAction.TYPING)

    sleep(60)
    
    if update.message['photo'] == []:

        bot.send_message(chat_id=user_id, text=update.message.text)
    else:
        fileID = update.message['photo'][-1]['file_id']
        context.bot.sendPhoto(chat_id = user_id,caption=update.message['caption'],photo = fileID)

    
    msg_id = update.message._id_attrs[]
    
#------------- And Also i user that too -------------
#msg_id=update.message.message_id
#-------------  -------------

    context.bot.delete_message(chat_id=user_id, message_id=msg_id)

    update.effective_chat
    update.effective_user
    update.effective_message
    print(json.dumps(update.to_dict(), indent=2))

dp = updater.dispatcher

dp.add_handler(MessageHandler(Filters.document | Filters.photo, echo))
dp.add_handler(MessageHandler(Filters.text, echo))


updater.start_polling()

and when i use that code this error will show:

The message_id that you want to remove is not exist....

actually i type a message id in manually for delete message and it was work but i want to delete that message auto

please help me to do that. thanks

I fixed That With Python-Telegram-Bot Version 20

Read This Docs: https://docs.python-telegram-bot.org/en/v20.0a2/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM