3

私はこの API を使用しています: https://github.com/orzFly/node-telegram-bot

それは他のように動作するはずです。

ここで、ボットが何らかの理由で保持している文字列を更新するオプションをボットに持たせたいと考えています。そのため、"/update" で update 関数が呼び出されます。ここで、msgは Message オブジェクト ( https://core.telegram.org/bots/api#message ) です。

link = "something";
function update(msg) {

    response = tg.sendMessage({
        text: "Send a new URL, please",
        chat_id: msg.chat.id,
        reply_to_message_id: msg.message_id,
        reply_markup: {
            force_reply: true,
            selective: true
        }
    });
    console.log("response: " + response);
    // on reply I want to update link
}

今、このボットは私に新しい文字列を提供するように求めています. force_reply のおかげで、テレグラムの次の回答はすでにボットの要求に対する回答になっています。どうすればこの答えを得ることができますか? ここでの 'response' は promise オブジェクトであり、どうすればよいかわかりません。

Promises オブジェクトについて読んだ後、次のようなことを試しました。

response.then(function successHandler(result) {
    tg.sendMessage({
        text: "new URL is: I don't know",
        chat_id: msg.chat.id
    });
}, function failureHandler(error) {
    colsole.log("error: " + error);
});

しかし、うまくいきませんでした。決して〜ない。

返信メッセージ オブジェクトをどこから取得すればよいかわかりません。私が求めていることが明確であることを願っています。そうでなければ私に知らせてください。

4

2 に答える 2