【发布时间】:2020-04-04 00:27:49
【问题描述】:
我一直在环顾四周,似乎无法找到我在使用 Typescript 制作的不和谐机器人时遇到的这个问题的答案。我将所有命令都放在他们自己的文件夹中,每个命令使用一个单独的文件。有助于使事情井井有条。
我看到有人说client.channels.get(`channelID`).send(`Text`)
但这给了我
Object is possibly 'undefined'. 和 Property 'send' does not exist on type 'Channel'.
每当有人运行重新启动命令时,我实际上试图在每个文本频道(从列表中给出)发送一条机器人消息,因为无论出于何种原因人们不断重新启动机器人。如果有人需要使用它,我会时不时地把它作为一件有趣的事情来做。该机器人离线 3 分钟,但我不喜欢有人向它发送垃圾邮件,而且该机器人几乎无法使用。
我正在使用client.channels.get(channels.channelnames[5]).send("This is a message.")
【问题讨论】:
-
channels.channelnames[5]的内容肯定是频道ID而不是名字吗? -
我尝试同时使用名称和 ID。无论我放在那里,它都会作为字符串变量给出。
-
我输入了client.channels.get(channels.channelids[1]);它不会返回错误,但我无法向它发送消息,因为它注册为 Discord.Channel 而不是 Discord.TextChannel
-
TextChannel 是 Channel 的子级,如果合适的话应该能够发送消息。例如,您应该能够回显.type 属性以检查您获得的是类似文本的频道,而不是语音频道。您的问题中的示例应该工作,只要它是一个类似文本的频道并且您使用的 ID 是一个实际的频道 ID。
-
我通过右键单击我的文本频道并点击“复制 ID”获得了频道 ID,它给出了“651560565080195122”,我认为这是字符串格式。
标签: javascript typescript discord.js channels