2016-07-17 3 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()

: 예를 들어
관련 문제