discord-example-app完全指南:从零开始构建你的第一个Discord机器人
2026/8/10 18:14:22 网站建设 项目流程

discord-example-app完全指南:从零开始构建你的第一个Discord机器人

【免费下载链接】discord-example-appBasic Discord app with examples项目地址: https://gitcode.com/gh_mirrors/di/discord-example-app

discord-example-app是一个基于JavaScript构建的基础Discord机器人项目,提供了完整的石头剪刀布游戏功能和交互示例。本指南将以最简单的方式,带你从零开始搭建并运行自己的第一个Discord机器人,无需复杂编程经验也能轻松上手。

📋 准备工作:环境与工具安装

在开始之前,你需要准备以下工具和账号:

  • Node.js环境:前往NodeJS官网下载并安装LTS版本
  • Discord账号:注册并登录Discord
  • Discord开发者账号:免费注册Discord开发者平台
  • 代码编辑器:推荐使用VS Code或任何你熟悉的文本编辑器

🔧 快速安装:3步获取项目代码

1. 克隆项目仓库

打开终端,执行以下命令克隆项目到本地:

git clone https://gitcode.com/gh_mirrors/di/discord-example-app

2. 进入项目目录

cd discord-example-app

3. 安装依赖包

npm install

🎮 项目结构解析:核心文件功能

项目采用清晰的模块化结构,主要包含以下关键文件和目录:

├── examples -> 功能特定的示例代码 │ ├── app.js -> 完整的应用程序代码 │ ├── button.js -> 按钮交互示例 │ ├── command.js -> 命令处理示例 │ ├── modal.js -> 模态窗口示例 │ ├── selectMenu.js -> 选择菜单示例 ├── app.js -> 应用程序主入口点 ├── commands.js -> 斜杠命令定义和辅助函数 ├── game.js -> 石头剪刀布游戏逻辑 ├── utils.js -> 工具函数和枚举

核心功能文件说明:

  • app.js:机器人主程序,处理Discord的交互请求
  • commands.js:定义所有可用的斜杠命令
  • game.js:实现石头剪刀布游戏的核心逻辑
  • utils.js:提供辅助功能,如随机表情生成、API请求等

🔑 配置机器人:获取Discord凭证

创建Discord应用

  1. 访问Discord开发者平台
  2. 点击"New Application"创建新应用
  3. 在"Bot"选项卡中添加机器人账号
  4. 开启"Send Messages"权限

获取关键凭证

在应用设置中获取以下三个重要凭证:

  • APP_ID:应用程序ID(在"General Information"页面)
  • DISCORD_TOKEN:机器人令牌(在"Bot"页面,点击"Copy")
  • PUBLIC_KEY:公钥(在"General Information"页面)

配置环境变量

  1. 复制项目中的.env.sample文件,重命名为.env
  2. 将获取的凭证填入对应位置:
APP_ID=你的应用ID DISCORD_TOKEN=你的机器人令牌 PUBLIC_KEY=你的公钥

🚀 运行机器人:完整启动流程

注册斜杠命令

在终端执行以下命令,将命令注册到Discord服务器:

npm run register

启动机器人程序

node app.js

成功启动后,你将看到"Listening on port 3000"的提示。

设置交互端点(本地开发)

为了让Discord能够与本地运行的机器人通信,需要使用ngrok创建隧道:

  1. 安装ngrok:https://ngrok.com/
  2. 启动ngrok:
ngrok http 3000
  1. 复制生成的HTTPS地址(如https://abc123.ngrok.io
  2. 在Discord开发者平台的"General Information"页面,设置"Interactions Endpoint URL"为:
https://abc123.ngrok.io/interactions

Discord机器人交互界面展示:创建游戏频道并开始互动

💡 功能使用:与机器人互动

基础命令

机器人提供以下核心命令:

  • /test:测试机器人是否在线,会返回随机表情
  • /challenge [对象]:发起石头剪刀布挑战,对象可以是"rock"、"paper"或"scissors"

游戏流程

  1. 在Discord频道中输入/challenge rock发起挑战
  2. 其他用户点击"Accept"按钮接受挑战
  3. 选择自己的游戏对象
  4. 机器人自动计算并显示比赛结果

📚 进阶学习:探索更多示例

项目的examples/目录包含多个功能示例,帮助你扩展机器人能力:

  • button.js:按钮组件交互实现
  • modal.js:模态窗口创建与处理
  • selectMenu.js:下拉选择菜单使用方法

要使用这些示例,只需将对应文件内容复制到主app.js中即可。

🔍 问题排查:常见错误解决

机器人无响应?

  • 检查.env文件中的凭证是否正确
  • 确认机器人已被邀请到服务器(需要botapplications.commands权限)
  • 检查ngrok是否在运行且端点URL设置正确

命令无法使用?

  • 确保已运行npm run register注册命令
  • 命令注册可能需要几分钟生效
  • 检查Discord开发者平台中的"Command Permissions"设置

🎯 总结:开始你的Discord机器人开发之旅

通过discord-example-app项目,你已经掌握了构建Discord机器人的基础知识。这个项目不仅提供了完整的石头剪刀布游戏实现,还展示了Discord机器人开发的核心概念,包括命令处理、组件交互和事件响应。

现在,你可以基于这个项目进行扩展,添加更多自定义功能,如:

  • 音乐播放功能
  • 自动 moderation工具
  • 自定义命令系统

查看项目中的utils.js和commands.js文件,了解更多实现细节,开始你的Discord机器人开发之旅吧!

【免费下载链接】discord-example-appBasic Discord app with examples项目地址: https://gitcode.com/gh_mirrors/di/discord-example-app

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询