我正在构建一个电报机器人,它会发送三个带有
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)
行,但没有成功。
根据文档:
私人聊天中的骰子消息只能删除如果发送时间超过24小时。