让不和谐机器人在被询问时说出规则

问题描述

你好,我正在尝试编写一个 discord 机器人,我正在尝试编写代码,以便如果有人说 $rules 将发送规则,但我无法发送代码,因为我在发布内容时遇到问题在这个网站上,我在互联网上搜索了很多,但找不到任何东西 编辑:我已经找到了如何发布代码 https://glitch.com/edit/#!/melted-messy-leotard 这是查看它的链接

解决方法

您的代码中存在语法错误 - 您从未使用任何方括号关闭侦听器。

要解决此问题,您可以使用:

let Discord = require("discord.js");
let client = new Discord.Client();

client.on("message",message => {
    if (message.content === "ping") {
        message.channel.send("pong!")
    }

    if(message.content === "embed") {
        let embed = new Discord.MessageEmbed()
            .setTitle("this is Emded title")
            .setDescription("this is Embed description")
            .setColor("RANDOM")
            .setFooter("This is embed footer")
        message.channel.send(embed)
    }

    if (message.content.startswith("$rules")) {
        let member = message.mentions.members.first()
        if (!member) message.send("here are the rules,1. no politics 2. be nice 3. respect others 4. think before you speak 5. no nsfw 6. don't leak personal info 7.don't argue abt opinions,3 strikes and you're out")
    }

});

client.login("token");

此外,您执行 if(!member) 的线路可能不会执行您希望它执行的操作 - 如果它向机器人发送 DM 消息,它会做出响应,如果这是您想要的,那就没问题了。

如果你想检查成员是否在一个公会中,你可以使用这个检查他们是否有一个共同的角色(比如每个人):

if (!member.roles.cache.some(role => role.name === '<role name>')) {
    // member is not in guild
}