Python,远程机器人:错误:“无法为所有人删除消息”

问题描述 投票:0回答:1

我正在构建一个电报机器人,它会发送三个带有

bot.send_dice()
的骰子。在代码中,我将它们的 ID 收集到一个列表中,然后创建新的循环来删除每条消息。
start_message
是之前发送的消息ID

messages = []

time.sleep(0.1)

bot.delete_message(chat_id=callback.message.chat.id,
                   message_id=start_message.id,)

        time.sleep(0.1)

        for _ in range(3):
            dice_message = bot.send_dice(callback.message.chat.id,
                          emoji="🎲")
            messages.append(dice_message.id)
            time.sleep(6)

        for d in range(3):
            bot.delete_message(chat_id=callback.message.chat.id,
                               message_id=messages[d])

此代码位于此函数内:

@bot.callback_query_handler(func=lambda call:True)
def main(callback):
    'my code'

我收到错误:

telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: message can't be deleted for everyone

我期望代码会删除

messages
列表中的所有消息。但事实并非如此。我尝试从代码中删除
time.sleep(time)
行,但没有成功。

python bots telegram telebot
1个回答
0
投票

根据文档

私人聊天中的骰子消息只能删除如果发送时间超过24小时

© www.soinside.com 2019 - 2024. All rights reserved.