【问题标题】:How to send a message to a specific channel with Discord.JS如何使用 Discord.JS 向特定频道发送消息
【发布时间】:2022-01-15 17:45:55
【问题描述】:

我在这个主题上尝试了堆栈溢出的所有可能性,但这对我不起作用,我认为这已经过时了。我在 Discord.JS V13.6

所以,目前,我有这个:

const channel = client.channels.cache.get('my_id-channel');
channel.send('content');

我用my_id-channel右键点击频道→复制id

我的错误: Uncaught TypeError: Cannot read property 'send' of undefined

【问题讨论】:

标签: javascript discord.js


【解决方案1】:

该频道目前可能不存在于 ChannelManager 的缓存中,请尝试使用 ChannelManager.fetch() 方法。

您的代码应如下所示:

client.channels.fetch('my_id-channel').then(channel => channel.send('content'));

如果您不熟悉,缓存是用于临时保存数据的本地临时存储,因此您不必执行可能需要很长时间的操作(即从服务器请求信息)。从本质上讲,这意味着缓存是易失性的,您不能始终保证您要查找的内容就在那里。

我怀疑在这种情况下频道之前没有被检索过,所以它还不存在于缓存中。

【讨论】:

  • 用你的方法,我有这个代码错误:client.channels.fetch('my_id-channel').then(channel => channel.send('content')); TypeError: Cannot read property 'send' of null 我也直接尝试使用整数作为id通道,我有这个错误:DiscordAPIError: Unknown Channel我没有取好id?跨度>
【解决方案2】:

打开我的大脑后,我明白了我的愚蠢脚本-_-

我不知道我应该在这里写我的脚本:

client.on("ready", () => {
    // HERE MY CODE
});

现在可以了^^'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-09
    • 2021-08-21
    • 2020-04-04
    • 2020-06-25
    • 2020-05-22
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多