如何让机器人在一定时间后删除消息
How to make a bot delete messages after a certain time period
我试图让我的机器人在 15 秒后删除 4 条消息,但我不知道如何让它这样做。
const commando = require('discord.js-commando');
class HitOrMissCommand extends commando.Command
{
constructor(client)
{
super(client,{
name: 'hitormiss',
group: 'simple',
memberName: 'hitormiss',
description: 'i bet he doesnt kiss yah!'
});
}
async run(message, args)
{
message.reply("I guess they never miss, huh?")
message.reply("you got a boyfriend i bet he doesnt kiss yah!, MWAH!")
message.reply("He gon find another girl and he wont miss yah")
message.reply("He gon skirt and hit the dab like wiz khalifa")
}
}
module.exports = HitOrMissCommand;
可能想看看这个问题
正如 post 中的回答,最好的方法是在 x 秒后删除消息。
message.reply('Hit or miss.')
.then(msg => {
msg.delete(10000)
})
.catch(); /*Used for error handling*/
应归功于用户 LW001,他在我提到的 post 上回答了问题。
由于 相似,您可以使用相同的技术 - 添加删除超时。回复后,.then()
使用您的 15 秒计时器(15000 毫秒)删除消息:
message.reply("I guess they never miss, huh?").then(message => message.delete(15000)).catch(err => throw err);
或者如果你不能使用箭头语法:
message.reply("I guess they never miss, huh?").then(function(message) {
message.delete(15000);
}).catch(function(err) {
throw err;
});
可以这样做。
var replyM = message.reply("I guess they never miss, huh?")
setTimeout(function(){
replyM.delete
}, 1000);
if (message.content.startsWith(`!test`)) {
await message.channel.send('Hello').then(r => r.delete({ timeout: 5000 }))
console.log("test");
}
我试图让我的机器人在 15 秒后删除 4 条消息,但我不知道如何让它这样做。
const commando = require('discord.js-commando');
class HitOrMissCommand extends commando.Command
{
constructor(client)
{
super(client,{
name: 'hitormiss',
group: 'simple',
memberName: 'hitormiss',
description: 'i bet he doesnt kiss yah!'
});
}
async run(message, args)
{
message.reply("I guess they never miss, huh?")
message.reply("you got a boyfriend i bet he doesnt kiss yah!, MWAH!")
message.reply("He gon find another girl and he wont miss yah")
message.reply("He gon skirt and hit the dab like wiz khalifa")
}
}
module.exports = HitOrMissCommand;
可能想看看这个问题
正如 post 中的回答,最好的方法是在 x 秒后删除消息。
message.reply('Hit or miss.')
.then(msg => {
msg.delete(10000)
})
.catch(); /*Used for error handling*/
应归功于用户 LW001,他在我提到的 post 上回答了问题。
由于 .then()
使用您的 15 秒计时器(15000 毫秒)删除消息:
message.reply("I guess they never miss, huh?").then(message => message.delete(15000)).catch(err => throw err);
或者如果你不能使用箭头语法:
message.reply("I guess they never miss, huh?").then(function(message) {
message.delete(15000);
}).catch(function(err) {
throw err;
});
可以这样做。
var replyM = message.reply("I guess they never miss, huh?")
setTimeout(function(){
replyM.delete
}, 1000);
if (message.content.startsWith(`!test`)) {
await message.channel.send('Hello').then(r => r.delete({ timeout: 5000 }))
console.log("test");
}