一个删除所有消息的机器人,除了说“土豆”的消息

时间:2021-03-12 23:02:53

标签: discord discord.js

我一直在尝试制作一个机器人,它只允许消息说“土豆”并删除所有其他内容不同的消息。 (我对这个东西很陌生。)

这是我迄今为止尝试过的代码,由此处的用户创建:

client.on("message", (message) => {
  if(message.content != "potato") return message.delete()
});

当我将其输入到代码中时,出现缩进错误和分号错误。当我自动修复它们时,我得到以下代码:

    client.on("message", (message) => {
    if(message.content != "potato") return message.delete();
});

终端重复服务器中的消息(没有角色或权限),但如果它们不是“土豆”,则不会不和谐地删除它们。该机器人具有管理员权限。

有任何修改或建议吗? (我确实有一个 linter,不确定是否相关。)

谢谢,下午

其余代码:

const Discord = require('discord.js');
const client = new Discord.Client();

client.once('ready', () => {
    console.log('Ready!');
});

client.login('TOKEN');

client.on("message", (message) => {
    if(message.content !== "potato") return message.delete();
});

1 个答案:

答案 0 :(得分:0)

您需要将 await 放在 message.delete() 之前,否则它将不起作用。 将 client.login 放在代码底部也能更好地提高代码可读性。

您的代码应如下所示:

const Discord = require('discord.js');
const client = new Discord.Client();

client.once('ready', () => {
    console.log('Ready!');
});

client.on("message", async (message) => {
    if(message.content !== "potato") {return await message.delete();}
});

client.login('TOKEN');