use*_*438 0 javascript node.js discord.js
我正在尝试从 ID 或提及中检索某个频道。每当我从公会的频道列表中检索频道时,它都是 a 的形式GuildChannel,它不能直接使用 .send(message) 发送消息。我已经简要地浏览了文档,找到了一种从Guild ChannelTextChannel |转换为其中之一的方法。DM频道 | 新闻频道但无济于事。
任何帮助表示赞赏,谢谢。
如果您尝试根据发送的消息执行此操作,那么您应该可以使用。
message.guild.channels.cache.get("CHANNEL_ID").send("message");
Run Code Online (Sandbox Code Playgroud)
从缓存访问频道时,最好知道您收到的频道类型是 GuildChannel,因为库不知道您正在检索哪种类型的频道。TextChannel、VoiceChannel 和 NewsChannel 都继承自 GuildChannel,因此智能感知和 Typescript 将无法识别特定于频道类型的方法和属性,例如send(). 如果您确实要检索 TextChannel,那么 send 方法实际上将可用。
如果您正在使用 Typescript 并收到错误Property 'send' does not exist on type 'GuildChannel'.ts(2339)。您可以通过首先检查频道的类型并确保它是文本频道来解决此问题。
来源:https : //github.com/discordjs/discord.js/issues/3622#issuecomment-565550605
| 归档时间: |
|
| 查看次数: |
1696 次 |
| 最近记录: |