2016-07-17 2 views
0

私はnode-telegram-bot-apiパッケージを使用するテレグラムボットを作成しています。そのパッケージはイベントを発行するためにEventEmitter3を使用します。EventEmitter条件が真であれば次のリスナーを無視する

私は他のすべてのリスナーの前に実行されるリスナーを持っている:

Bot.prependListener('message', (msg) => 
    if (CHECK msg.from.id FOR AUTHORIZED USERS == false) { 
     // IGNORE ALL OTHER LISTENERS 
    } 
}); 
‌Bot.onText(/\/start/i, (msg) => { 
    Bot.sendMessage(msg.from.id, `You're an authorized user for sure!`); 
}); 

にはどうすればいい持つEventEmitterは、他のすべてのリスナーを無視することができますか?

答えて

0

本当のミドルウェアサポートで何かが必要です。たとえば :Telegraf

const Telegraf = require('telegraf') 
 
const app = new Telegraf(process.env.BOT_TOKEN) 
 

 
app.use((ctx, next) => { 
 
    if(AUTHORIZED_USERS.includes(ctx.from.id)){ 
 
     return next() 
 
    } 
 
}) 
 

 
app.command('/start', (ctx) => ctx.reply('You`re an authorized user for sure!')) 
 
app.startPolling()

関連する問題