【问题标题】:How to fetch messages from array of channel objects如何从通道对象数组中获取消息
【发布时间】:2020-10-15 00:43:44
【问题描述】:

我编写了这段代码,用于查找每个通道的消息,确保它们不是未定义的,获取其中的 10 个,然后发送它们的内容。然而,在运行它时,它什么也没有输出,甚至没有给出错误信息。

    filtered_channel_ids.forEach(element => {
        if (typeof element.messages !== 'undefined'){
        client.channels.element.messages.fetch({limit: 10})
        .then(message => console.log(message.content))
        }
    })

【问题讨论】:

    标签: discord.js


    【解决方案1】:

    element 不是 clientclient.channels 对象的属性。它是一个独立的字符串。

    filtered_channel_ids.forEach((element) => {
     const channel = client.channels.cache.get(element); // get the channel
     if (channel.messages) {
      channel.messages
       .fetch({ limit: 10 }) // fetch the messages
       .then((
        messages // also, it returns 10 messages, not just one message
       ) => messages.forEach((message) => console.log(message.content)));
     }
    });
    

    【讨论】:

    • 运行后,它无法“读取未定义的属性'消息',我认为这是因为试图获取具有雪花值的频道。有没有办法将雪花转换回一个字符串?
    • 雪花是一个字符串。什么意思?
    • 它说 get() 接受一个字符串,如果没有找到任何东西,则返回 undefined。所以我把这些碎片放在一起,假设雪花不是一根绳子。我的错!
    猜你喜欢
    • 2019-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-22
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 2017-12-19
    相关资源
    最近更新 更多