电报连续发送相同的消息

时间:2018-02-14 09:51:59

标签: node.js telegram telegram-bot

代码不断接收相同的消息。 我的代码是:

var telegram = require('telegram-bot-api');


 var api = new telegram({
        token: token,
        updates: {
            enabled: true
    }
});



api.on('message', function(message)
{

    // Received text message
    var from=(message.from.id);
    console.log(from);
    var first_name=(message.from.first_name);
    var last_name=(message.from.last_name);
    var msg=message.text;


});

即使我只发送一条消息...... console.log(from)连续输出

2 个答案:

答案 0 :(得分:0)

当您使用getUpdates方法获取更新时,您应该设置偏移量。要返回的第一个更新的标识符。必须比先前收到的更新的标识符中的最大值大1。默认情况下,返回从最早的未确认更新开始的更新。一旦调用getUpdates并且偏移量高于其update_id,就会认为更新已得到确认。可以指定负偏移量以从更新队列末尾的-offset更新开始检索更新。以前的所有更新都会被遗忘。 在这里你可以阅读更多:https://core.telegram.org/bots/api#getupdates

只需更改您的代码:

// Create a bot that uses 'polling' to fetch new updates
var api = new TelegramBot(token, {polling: true});

答案 1 :(得分:0)

确保您发回了回复。我当时使用的是expressjs,却忘记做res.json(或res.send),因此Telegram不断尝试更新webhook的状态。