📌  相关文章
📜  如何使用 Node.js 构建一个简单的 Discord 机器人?

📅  最后修改于: 2022-05-13 01:56:34.678000             🧑  作者: Mango

如何使用 Node.js 构建一个简单的 Discord 机器人?

Discord 是一种即时通讯应用程序,主要由开发人员和游戏玩家社区使用。许多不和谐服务器使用机器人来自动执行任务。机器人是允许我们自动执行某些任务的程序,例如消息传递、维护我们的服务器等。Discord 为我们提供了许多内置机器人。 Discord 还允许我们构建自己的机器人。

对于 javascript 开发人员,discord 提供了discord.js包,可以帮助他们为服务器开发机器人。

先决条件:

  • 使用您自己的不和谐服务器的不和谐帐户。
  • 安装了 npm 的 Node.js。
  • Javascript的基础知识。

构建 Discord Bot 的步骤:

  1. 创建您的机器人:要注册您的机器人,请访问 https://discord.com/developers/applications/ 并使用您的帐户登录。

    单击“新建应用程序”按钮并为您的应用程序命名。然后,单击“创建”按钮创建一个使用 Discord API 的应用程序。

    单击机器人选项卡,然后单击“添加机器人”按钮以创建新机器人。

    为您选择的机器人提供名称和头像。

  2. 将机器人添加到您的服务器:要将机器人添加到您的服务器,您应该使用以下 URL:
    https://discord.com/oauth2/authorize?client_id=CLIENT_ID&scope=bot

    在 URL 中,您应该将 CLIENT_ID 替换为您自己的客户端 ID,您可以在“常规信息”选项卡上找到该 ID。访问该 URL 并选择要将其添加到的服务器,然后单击“授权”按钮,这会将您的机器人放入您的服务器。

  3. 项目设置:要开始构建项目,请创建一个新文件夹,然后创建一个名为 index.js 的新文件。然后,使用以下命令安装 discord.js 包:

    npm i discord.js

    然后使用以下代码在您的项目中导入 discord.js 包:

    const discord = require('discord.js');

    现在,我们希望我们的机器人发送一条消息“Hello Geeks!!”每当服务器上有人发送“你好”。因此,要做到这一点,我们需要一个可以处理事件的不和谐客户端。 Discord 客户端允许您侦听消息事件。这意味着机器人可以读取发送到频道的任何消息。

    文件名:index.js

    // Creates a discord client
    const client = new discord.Client(); 
      
    // Runs whenever a message is sent
    client.on("message", message => { 
      
        // Checks if the message says "hello"
        if (message.content === "hello") { 
      
            // Sending custom message to the channel
            message.channel.send("Hello Geeks!!"); 
        }
    });
    

    要启动机器人,我们必须在 index.js 文件中添加 client.login(YOUR_BOT_TOKEN) 调用。

    client.login("YOUR_BOT_TOKEN"); // Starts the bot up

    将 YOUR_BOT_TOKEN 替换为您的 bot 令牌,您可以在 Bot 选项卡中找到该令牌。

    因此,按照上述步骤完成后,我们最终的 index.js 文件将如下所示:
    文件名:index.js

    // Requiring module
    const discord = require('discord.js');
      
    // Creates a discord client
    const client = new discord.Client(); 
      
    // Runs whenever a message is sent
    client.on("message", message => { 
      
        // Checks if the message says "hello"
        if (message.content === "hello") { 
      
            // Sending custom message to the channel
            message.channel.send("Hello Geeks!!"); 
        }
    });
      
    client.login("YOUR_BOT_TOKEN");
    
  4. 运行您的 index.js 文件以运行您的机器人:要运行 index.js 文件,请在终端中使用以下命令:

    node index.js 

注意:每当我们的 index.js 停止运行时,我们的机器人也将停止工作。如果您希望您的机器人 24X7 全天候工作,您必须将其部署到某个服务器。