gpt4 book ai didi

telegram-bot - Bot api,我如何获取最后一条消息或聊天记录?

转载 作者:行者123 更新时间:2023-12-01 19:01:59 35 4
gpt4 key购买 nike

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

最佳答案

正如您在 Telegram Bot API Documentation 中看到的那样您可以使用 sendMessage 向用户发送消息。

当您收到消息时,请在 JSON 中查找 chatfrom 参数(取决于您是否想在群聊或群聊时回复该人)不是)。您可以使用 chatfromid 参数发送消息。

因此,您的 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;

关于telegram-bot - Bot api,我如何获取最后一条消息或聊天记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32865484/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com