如何在discordjs中存储特定用户发送的消息?

问题描述

我正在尝试创建一个 discord js bot,它可以由指定用户发送随机消息。 这是我的尝试:

const ch = client.channels.cache.get("12345");
const soma = client.users.cache.get("4321");
if(message.content.startsWith(prefix+'test')){
    console.log(`${ch}`);
    ch.messages.fetch({ limit: 100 }).then(messages => {
        console.log(`Received ${messages.size} messages`);
        messages.forEach(message => message.author.id)
        messages.forEach(function (message){
            if (message.author.id === {soma}){
                console.log(message.content);
            }
        })
    })
};

我只是不知道如何将作者 ID 和消息内容放入一个数组中,或者在执行命令时直接通过它。

解决方法

好的,我读了你的脚本,在 const soma = client.users.cache.get("4321"); 部分,我注意到你试图从不需要的机器人用户那里获取 id,你可以立即使用该 id,所以你要做的就是制作soma 定义为你的 id 不需要 client.cache.get 就像这样 const soma = "332036461669122048" ,对于频道,你可以把它变成 const ch = message.channel.id 而不是从客户端获取频道,因为你正在获取以错误的方式

编辑:在 if (message.author.id === {soma}) 处,您不需要添加“{”、“}”,它不需要