2015-10-31 263 views
0

所以,我需要我的机器人转发聊天消息。但为了这样做,我需要获得我想转发的消息的ID(这是一条旧消息)。我怎样才能得到该消息的ID,以便我可以发送它?Telegram bot API:获取消息ID转发它

这是我使用

@bot.message_handler(func=lambda m: True) 
def reply_ids(message): 
    cid = message.chat.id 
    bot.reply_to(message, "The message id is: " + str(message.message_id) + " This chat ID is: " + str(cid)) 
+0

你是如何得到你想转发的消息的? (它是什么来源?) –

+0

@DeanFenster它来自一组我在 –

+0

造成什么API?我很难理解你怎么没有得到与实际消息的消息ID ... –

回答

1

当接收一个消息的代码,该ID将在message.message_id,如记录here

+0

事情是,这是来自看起来像机器人对话的消息ID。这很难解释。但是你可以看一下,试着和我的机器人聊聊:@jmml_test_bot它会给出你的消息的消息ID和聊天的ID。如果消息ID是对话中的第一条消息,则可以预期消息ID为1(或0)。但是,它会是一个更大的数字,其他数字是机器人收到的旧信息。 –

+0

然后,尝试在群聊中获取消息的ID将做同样的事情,它不会显示正确的ID ... –

+0

为什么ID是0或1?电报将所有消息存储在它的服务器上,并且应该为它们中的每一个都有唯一的ID。 –

0

最近我一直在使用内联按钮的回调查询。我注意到的一件事是,为了回复具有按钮Telegram需要知道message.chat_id和message.message_id的确切消息。你可以尝试两种。这更多的是评论,然后我没有足够的评价。