问题描述
我怎样才能删除 bot.on () 以重新运行 bot.onText ()? 因为如果我做 bot.removeListener('message') 它也会删除 bot.onText()
bot.onText(/\/login/,(msg) => {
bot.on('message',(msg) => {
//do some stuff
bot.removeListener('message');
});
});
解决方法
第二个参数,应该是你的听众的一个函数。 例如:
let handler = (msg) => {
let chatId = getChatId(msg);
bot.sendMessage(chatId,"Login");
bot.removeListener("message",handler);
};
bot.onText(/\/login/,msg => {
bot.on("message",handler);
bot.on("message",msg => {
let chatId = getChatId(msg);
bot.sendMessage(chatId,"Another listener");
});
});
如您所见,两个侦听器第一次都起作用,第二次尝试输入内容时,只有第二个侦听器起作用。