javascript - 如何通过字段值从 channel 获取RichEmbed?

标签 javascript discord discord.js

所以,我正在为我的 Discord channel 创建机器人。我根据要求创建了一个特殊的系统。例如,用户发送请求加入他想要的聊天。每个请求都与一个唯一的 ID 配对。请求已形成并发送到服务 channel ,主持人可以在其中看到这些请求。然后,一旦请求得到解决,版主会输入类似 .resolveRequest <ID> 的内容并将此请求复制并发布到“已解决的请求” channel 。
我写了一些代码。

生成请求:

if (command === "join-chat") {
        const data = fs.readFileSync('./requestID.txt');

        let requestID = parseInt(data, 10);

        const emb = new Discord.RichEmbed()
            .setTitle('New request')
            .setDescription('Request to add to chat')
            .addField('Who?', `**User ${msg.author.tag}**`)
            .addField('Which chat?', `**Chat: ${args[0]}**`)
            .setFooter('Request\'s ID: ' + requestID)
            .setColor('#fffb3a');

        let chan = client.channels.get('567959560900313108');
        chan.send(emb);

        requestID++;

        fs.writeFileSync('./requestID.txt', requestID.toString(10));
    }

现在 .resolveRequest <ID> :

if (command === '.resolveRequest') {
        msg.channel.fetchMessages({limit : 100}) //getting last 100 messages
            .then((messages) => messages.forEach(element => { //for each message get an embed
                element.embeds.forEach(element => {
                    msg.channel.send(element.fields.find('value', args[0].toString(10))); //send a message containing the ID mentioned in 'args[0]' that was taken form the message
                })
            }));
    }

.join-chat <chat_name>工作完美,但是 .resolveRequest <ID>根本不起作用,甚至没有错误。
有什么办法可以解决吗?

最佳答案

不推荐使用 .find('value', 'key'),请改用 .find(thing => thing.value == 'key')

您还应该使用数据库来存储东西,但您的代码实际上并没有损坏,只是您检查了:command === '.resolveRequest',这意味着您需要运行..resolveRequest,因为在 command 变量中,前缀被删除,所以将其更改为:command === 'resolveRequest'

关于javascript - 如何通过字段值从 channel 获取RichEmbed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55780936/

相关文章:

javascript - 为什么我的 observableArray 不工作?

javascript - 异步Javascript : Unexpected result

javascript - 使用 javascript 动态更改 <select> 选项

javascript - if 语句使用 UserID?

javascript - 如何让机器人对自己的消息使用react?

按键上的Javascript : player. style.left += 10,无法弄清楚为什么这不起作用

python - 如何修复在歌曲实际结束之前停止播放的不和谐音乐机器人?

python - 删除嵌入后发送另一个嵌入不起作用

node.js - 有没有办法让它有可能的冷却时间

discord - 如何异步运行命令文件夹中的命令文件