Approval/Denial 系统使用 Discord.js

Approval/Denial System using Discord.js

DISCORD.JS

嘿!所以,最近,我在一台服务器上发现了一个很棒的机器人。那是一个批准或拒绝系统。那么,会发生什么,例如,有人会在 google 表单上签名,然后 google 脚本将通过 webhook 发送响应(我已经知道该代码)在一个名为“等待结果”的私人频道的嵌入中,现在,机器人会自动为消息添加反应,例如 ✅ 和 ❌。然后,一名工作人员将对这些表情符号中的任何一个做出反应,并将其发送到两个不同的频道。如果反应是 ✅,那么机器人将从原始消息中删除所有反应,从 google 表单响应中复制确切的嵌入,并将其发送到名为“accepted-logs”的频道,上面有一条消息“您的日志已被 ${person} 接受”。如果它是一个 ❌,它会做与已批准的完全相同的事情。我一直在努力,但找不到它。我只需要机器人代码,而不是表单脚本。所以基本上,你做出反应,复制准确的嵌入,发送到另一个频道。很有帮助,谢谢!

有用的 link 列表:

  1. https://discordjs.guide/popular-topics/reactions.html#unicode-emojis
  2. https://discordjs.guide/popular-topics/collectors.html#reaction-collectors
  3. https://discordjs.guide/popular-topics/embeds.html#using-the-embed-constructor

我很确定你可以将嵌入的内容存储在一个对象中,然后你可以等待收集器收集一个 ✅ 或 ❌,检查用户是否具有管理员角色 (e.t.c),然后找到需要发送嵌入的频道

let channel = client.channels.cache.find(channel => channel.name === "name");

然后您可以通过

将嵌入发送到频道
channel.send(embed);

为了嵌入,您只需:

let embed = new Discord.MessageEmbed();

然后您可以向其中添加字段(参见 link #3)。然后你可以简单地做

let approvalChannel  = client.channels.cache.find(channel => channel.name = "admin-approval");
approvalChannel.send(embed);
// Code for reaction collector