如何发送两条消息(第二条消息有延迟,妙语)
How to send two messages (second message with delay, punchline)
我正在尝试在 js 中创建一个在延迟后发送妙语的笑话机器人。
这是我正在使用的代码。它只向我发送妙语 atm。
我已经删除了一些代码,因为它重复了这个问题。
var delayInMilliseconds = 1500;
function poolJoke() {
const rand = Math.floor(Math.random() * 7) + 1;
if (rand === 1) {
bot.postMessageToChannel(
'bots',
'What does bread loaves say when they greet each other?',
setTimeout(function() {
bot.postMessageToChannel('bots',
'Gluten tag.')
}, delayInMilliseconds),
params
);
}
}
您好,您需要添加局部变量和清理时间,试试这个代码
function poolJoke(val) {
var timer;
const rand = val;
if (rand == 1) {
window.clearTimeout(timer);
console.log('What does bread loaves say when they greet each other?');
timer = setTimeout(function () {
console.log('bots', 'Gluten tag.' + timer)
}, 5000);
}
}
试试这个我测试过的解决方案,工作正常:
bot.on("start", function() {
bot.postMessageToChannel(channel, "Hello world!");
console.log("Hello world!");
setTimeout(() => {
bot.postMessageToChannel(channel,'after 5000 ms.')
}, 5000)
});
我正在尝试在 js 中创建一个在延迟后发送妙语的笑话机器人。
这是我正在使用的代码。它只向我发送妙语 atm。 我已经删除了一些代码,因为它重复了这个问题。
var delayInMilliseconds = 1500;
function poolJoke() {
const rand = Math.floor(Math.random() * 7) + 1;
if (rand === 1) {
bot.postMessageToChannel(
'bots',
'What does bread loaves say when they greet each other?',
setTimeout(function() {
bot.postMessageToChannel('bots',
'Gluten tag.')
}, delayInMilliseconds),
params
);
}
}
您好,您需要添加局部变量和清理时间,试试这个代码
function poolJoke(val) {
var timer;
const rand = val;
if (rand == 1) {
window.clearTimeout(timer);
console.log('What does bread loaves say when they greet each other?');
timer = setTimeout(function () {
console.log('bots', 'Gluten tag.' + timer)
}, 5000);
}
}
试试这个我测试过的解决方案,工作正常:
bot.on("start", function() {
bot.postMessageToChannel(channel, "Hello world!");
console.log("Hello world!");
setTimeout(() => {
bot.postMessageToChannel(channel,'after 5000 ms.')
}, 5000)
});