Bot API,我如何获取最新消息或聊天记录?

第248行

我想要实现一些功能,例如用户向我发送消息,然后用聊天记录中的(机器人)最新消息回复他。

洛基

如您在Telegram Bot API文档中所见,您可以sendMessage用来向用户发送消息。

收到消息时,请在JSON中查找chatfrom参数(取决于您是否希望在与他人聊天时回复该人)。您可以使用id参数发送消息。chatfrom

所以sendMessage的第一个参数是 chat_id=message.chat.id

你并不需要parse_modedisable_web_page_previewreply_markup为这个例子。

当您想要回复用户的消息时,您可能需要将设置reply_to_message_id为接收到的消息的ID。

reply_to_message_id = message.message_id

最后但并非最不重要的一点是,您想要设置text参数。如果我理解正确,则您的程序将把最后收到的内容发送message.text给用户。

因此,您要做的就是,一旦收到消息,就将其保存。

Message oldMessage = message

当您将消息发送给用户时,请使用旧消息text属性作为文本。

text = oldMessage.text

可以在这里总结一下该函数的伪代码,它将在您收到消息后立即发生:

Message oldMessage = null;

public void NewMessage(Message message){

    int chat_id = message.chat.id;
    int reply_to_message_id = message.message_id;

    String text = "There is no old Message"; //fallback value

    if(oldMessage != null){
        text = oldMessage.text;
    }

    //Send Message in this example only has 3 parameters, and ignores the 
    //not used ones
    SendMessage(chat_id,text,reply_to_message_id);

    oldMessage = message; //store the received message for future answering

}

当您将整个消息存储在其中时,oldMessage还可以设置将发送给以下内容的文本:

String text = oldMessage.from.first_name+": "+oldMessage.text;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章