我一直在研究Discord机器人,我想在设置的公告频道中在线后发送一条消息。我想我知道如何使它工作,但我一直遇到同样的问题。我读过几篇文章,但它们并不能解决我遇到的问题client.channels.get is not a function
。
我不只是想将其更改为通道ID,因为我希望它可以在我的其他服务器上使用。我是不和谐API和编码方面的新手。这就是为什么我不使用太高级的编码,因为我想学习它的功能而不是复制我不了解的内容。
谢谢。
答案 0 :(得分:0)
为了从client
对象获取任何属性,需要从事件中加载它。例如,在ready
事件内部,即当机器人完全加载后,您可以执行client.channels.cache.find(channel => channel.name == "name_of_channel")
等。要监听事件,您可以执行client.on("event_name_here", (parameters) => {})
。
要查看事件列表,请查看:https://discord.js.org/#/docs/main/stable/class/Client
如果这样做没有帮助,请发布您的代码,以便我们正确确定问题。
答案 1 :(得分:0)
从discord.js v12开始,您现在需要使用.cache
来访问channels
集合。
改为使用client.channels.cache.get()
或client.channels.cache.find(channel => channel.name === 'Test')
。