ユーザーが私にメッセージを送信し、チャット履歴からの私の(ボット)最新メッセージで彼に返信するような機能を実装したいと思います。
あなたが見ることができるように電報ボットAPIドキュメントを使用できsendMessage
、ユーザーにメッセージを送信します。
メッセージを受信したら、JSONでchat
またはfrom
パラメーターを探します(グループチャットの場合にその人に応答するかどうかによって異なります)。またはのid
パラメータを使用して、メッセージを送信できます。chat
from
したがって、sendMessageの最初のパラメータは次のようになります。 chat_id=message.chat.id
あなたは必要としないparse_mode
、disable_web_page_preview
そしてreply_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]
コメントを追加