Discord Bot JavaScript
Discord Bot JavaScript
用JavaScript实现一个Discord Bot,实现生成艺术二维码的功能。
准备工作
开启Discord群组的开发者模式
前往Discord开发者网站新建一个应用
配置好Bot的权限列表,留存Bot的token-key,注意打开这些权限
生成OAuth2的URL,选中相应的URL生成域,生成URL并打开即可将Bot加入到群组中
项目开发
通过JS对Bot的功能进行开发,可采用在线开发和本地开发两种模式。为了图方便,就用了在线IDE:Replit开发的方式。
代码结构
BotCommand
├── commands
│ └── generate.js
├── index.js
├── deploy-commands.js
├── config.json
├── package.json
└── package-lock.json
index.js
为入口,终端运行node index.js
启动项目
config配置
在根目录下新建一个config.json
文件,分别填入对应的三个字符串,完成与机器人端的连接
1 | { |
SlashCommands部署
为了实现在聊天框打出/
即可唤醒命令的功能,需要先定义这些命令。
在根目录下新建一个commands
文件夹,保存所有的命令(后期随着命令的增加,也可以再增设分类的子文件夹);
在commands
文件夹下,新建一个generate.js
,在里面实现“generate”斜杠命令的逻辑。
从官方开发文档获取deploy-commands.js
,执行node deploy-commands.js
即可将定义的命令部署到机器人端。
命令逻辑实现
命令的逻辑实现主要是在index.js
以及generate.js
两个文件中编写。
需求分析
- Step 1: 群组用户能够发起
generate
命令,该命令需包含三个参数:prompt
、url
、weight
,分别表示Stable Diffusion算法模型的关键字、原始的二维码链接、权重 - Step 2: Bot接收该命令后,在执行过程中显示“响应中”状态
- Step 3: SD算法生成图片完成后,Bot需在群组中回复以下内容:
- @发起该命令的用户
- 生成的艺术二维码图片
- 产品文本信息与提示
- “重新生成”按钮
- Step 4: “重新生成”按钮需完成如下功能:
- 群组内任意用户均可点击
- 点击按钮后弹出一个窗口,该窗口有三个填写栏,分别对应上述的三个参数,初始显示为上一次生成图像的三个参数值
- 用户可更改这些参数,并提交给Bot
- Bot接收后重复Step3的功能
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mind Palace!