Javascript 在一定时间内重复发送消息的电报机器人?

Javascript 在一定时间内重复发送消息的电报机器人?,javascript,node.js,telegram,telegram-bot,telegraf,Javascript,Node.js,Telegram,Telegram Bot,Telegraf,ClearInterval不工作,但我犯了一个错误。我不知道,但当我使用/停止它时,继续写“发送”。如何解决这样的问题 bot.hears(/\/send\/stop/,ctx=>{ let sending=setInterval(()=>{ if(/\/send/.test(ctx.update.message.text)){ ctx.回复(“发送:”); }else if(/\/stop/.test(ctx.update.message.text)){ ctx.回复(“停止”); 清除间隔

ClearInterval不工作,但我犯了一个错误。我不知道,但当我使用/停止它时,继续写“发送”。如何解决这样的问题

bot.hears(/\/send\/stop/,ctx=>{
let sending=setInterval(()=>{
if(/\/send/.test(ctx.update.message.text)){
ctx.回复(“发送:”);
}else if(/\/stop/.test(ctx.update.message.text)){
ctx.回复(“停止”);
清除间隔(发送);
}
}, 10000);

});主要问题是每次发送
/send
/stop
时都会创建新的间隔。因此,您的间隔会被多次创建,同时生成多个间隔

像这样的方法应该会奏效:

let sendInterval;
bot.hears(/\/send|\/stop/, ctx => {
  if (sendInterval) {
    clearInterval(sendInterval);
  }

  if (/\/send/.test(ctx.update.message.text)) {
    sendInterval = setInterval(() => {
      ctx.reply('Sending');
    }, 10000);
  } else if (/\/stop/.test(ctx.update.message.text)) {
    ctx.reply('stopping!');
  }
});