当您拥有频道和消息ID但没有原始消息对象时,如何通过discrod.js处理不和谐消息?

时间:2020-04-09 12:49:24

标签: discord.js

我正在尝试构建一个json备份文件,以在崩溃时重新启动我的discord.js机器人。该机器人是一个简单的倒计时程序,可编辑消息以显示剩余时间。

到目前为止,我已经设法将频道ID保存到json,并在重新启动时通过ID重新连接到该频道- myChannel = Client.channels.get(myChannelID);

,但是我找不到没有消息对象或如何将消息对象存储在json中的方法来连接回消息。

我可以轻松获取消息ID并将其保存,但是似乎找不到使用该ID连接到消息的方法,任何帮助表示赞赏

2 个答案:

答案 0 :(得分:2)

@aci按照新的discord.js V12.1.1不太可能工作。我将要求Wayne从Package.json检查discord.js版本。如果它高于discord.js v12.0.x,则应该使用以下内容:

let mychannel = client.channels.cache.find(channel => channel.Id == "ChannelId")
let loadmsg = mychannel.cache.fetchMessage("msgid")

否则,如果它是用于单个服务器的机器人,则可以使用通道的名称:

let mychannel = client.channels.cache.find(channel => channel.name == "ChannelName")
let loadmsg = mychannel.cache.fetchMessage("msgid")

答案 1 :(得分:0)

您可以先获取具有ID的频道,然后获取具有频道和消息ID的消息:

let mychannel = bot.channels.get("ChannelID");
let message = mychannel.fetchMessage("MsgID");