[英]Telegram bot which repeats send message with some time?
ClearInterval 不工作或工作,但我犯了一個錯誤。 我不知道,但是當我使用 /stop 時,它會繼續寫“發送”。 如何解決這樣的問題。
bot.hears(/\/send|\/stop/, ctx=> { let sending = setInterval(() => { if (/\/send/.test(ctx.update.message.text)) { ctx.reply('Sending:'); } else if (/\/stop/.test(ctx.update.message.text)){ ctx.reply('stopping;'); clearInterval(sending), } }; 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!');
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.