目的:我正在尝试让机器人检查特定消息的反应。
我已经阅读了这篇文章:Get Message By ID: Discord.js 但这根本没有帮助。
我已经在互联网上搜索了如何正确使用.fetchMessage
。但不幸的是没有找到任何结果。
这是我的代码:
client.channels.get('CHANNEL ID').fetchMessage('MESSAGE ID').then(async msg => { *CODE HERE* });
这是我得到的错误:
TypeError: client.channels.get is not a function
我确实意识到client.channels.get is not a function
,应该在函数中使用它,但我不知道该怎么做。
Discord.js version: 12.0.2
Node.js verison: 12.13
答案 0 :(得分:4)
该答案适用于v11,在v12中已更改为:
client.channels.cache.get(chid).messages.cache.fetch(mesid)
但是,请务必注意,client.channels.cache可能包含非文本通道,如果要检索您知道为TextChannel类型的ID,就可以了,但是如果您需要通过编程方式检索ID,以确保它是TextChannel的实例。
答案 1 :(得分:0)
在v12中,它已更改并使用管理器,并将此命令添加到我的机器人中并进行了修复。
let channelMessage = client.channels.cache.get(channel_id) // Grab the channel
channelMessage.messages.fetch(message_id).then(messageFeteched => messageFeteched.delete({timeout: 5000})); // Delete the message after 5 seconds