如何使用 Discord.JS 向特定频道发送消息
2022-01-14
600
我尝试了有关此主题的所有堆栈溢出可能性,但对我不起作用,我认为它已经过时了。我在使用 Discord.JS V13.6
因此,目前,我有这个:
const channel = client.channels.cache.get('my_id-channel');
channel.send('content');
我右键单击频道 → 复制 id 获取 my_id-channel
我的错误:
未捕获的 TypeError:无法读取未定义的属性“send”
2个回答
很可能该频道当前不存在于 ChannelManager 的缓存中,请尝试使用 ChannelManager.fetch() 方法。
您的代码应如下所示:
client.channels.fetch('my_id-channel').then(channel => channel.send('content'));
如果您不熟悉,缓存是一种本地临时存储,用于临时保存数据,因此您不必执行可能需要很长时间的操作(即从服务器请求信息)。本质上,这意味着缓存是不稳定的,您无法始终保证所查找的内容就在那里。
我怀疑在这种情况下,该频道之前没有被检索过,因此它还不存在于缓存中。
Patrick Barr
2022-01-14
打开我的大脑后,我理解了我愚蠢的脚本 -_-
我不知道我应该在这里写我的脚本:
client.on("ready", () => {
// HERE MY CODE
});
所以现在开始工作 ^^'
Catif
2022-01-15