如何使用不和谐机器人将消息发送到特定频道?

Posted

技术标签:

【中文标题】如何使用不和谐机器人将消息发送到特定频道?【英文标题】:How to send message to a specific channel with discord bot? 【发布时间】:2021-06-17 21:21:26 【问题描述】:

我搜索了互联网,但没有找到将简单消息发送到特定频道的解决方案。我找到的所有答案都已过时。向特定频道发送消息的最新方式是什么?

我试过了,但它不起作用:

const channel = <client>.channels.cache.get('<id>');
channel.send('<content>');

【问题讨论】:

这能回答你的问题吗? discord.js sending message to specific channel 问题是我使用打字稿,它给了我一个错误,但编译时它可以工作。有没有办法摆脱那个错误? Property 'send' does not exist on type 'Channel'.ts 我进入了 discord.js 存储库。 Channel 的子类确实有一个 send() 方法,但 Channel.ts 本身没有。您可以在其中将该方法抽象化,这样可以解决该 TypeScript 错误。 我把public send(message: string)放在Channel类的构造函数中,ts错误就消失了,但这是好习惯吗?还有其他更好的方法吗? 你应该将它贡献给 discord.js 存储库。 【参考方案1】:

通道不需要像语音通道那样具有发送功能。我们必须检查它实际上是一个,使用以下代码你应该能够:

const channel = <client>.channels.cache.get('<id>');
if(channel.isText())
    channel.send('<content>');

【讨论】:

以上是关于如何使用不和谐机器人将消息发送到特定频道?的主要内容,如果未能解决你的问题,请参考以下文章

如何删除我的不和谐机器人在特定频道中发送的先前消息?

如何让机器人将消息发送到“通用”频道或消息最多的频道?

如何将不和谐消息发送到另一个频道? (不和谐 JS)

如何在 Discord.NET 中通过公会 ID 和频道 ID 发送消息

如何让bot在反应后将消息发送到另一个频道|不和谐.js

如何配置机器人删除发送到特定频道的消息,除非它以特定字符串开头?