2016-12-20 1 views

Antwort

3

Ich habe die folgende Problemumgehung verwendet:

... 
var eventEmitter = new events.EventEmitter(); 


eventEmitter.on('my_fancy_event_1', function(){ 
    ... 
}) 

eventEmitter.on('my_fancy_event_2', function(){ 
    ... 
}) 

eventEmitter.on('my_fancy_event_3', function(){ 
    ... 
}) 


var options = { 
    polling: true 
}; 

... 

var bot = new TelegramBot(token, options); 

bot.onText(config.commands.commandStart, function onMessage(msg) { 
    var options = { 
    reply_markup: { 
     inline_keyboard: [ 
      [{text: config.inlineText.addPurchase, callback_data: 'my_fancy_event_1'}], 
      [{text: config.inlineText.addRevenue, callback_data: 'my_fancy_event_2'}], 
      [{text: config.inlineText.getReport, callback_data: 'my_fancy_event_3'}] 
     ] 
    } 
}; 
bot.sendMessage(msg.from.id, "Choose an operation.",options); 
}); 

bot.on('callback_query', function onCallbackQuery(callbackQuery) { 
    eventEmitter.emit(callbackQuery.data); 
    bot.answerCallbackQuery(callbackQuery.id, "Hi", false); 
}); 
Verwandte Themen