【发布时间】:2023-03-16 16:02:01
【问题描述】:
我正在制作一个不和谐的机器人,它可以创建票证来验证客户的票证。
我希望能够进入该频道并从该频道获取最新消息并将其设置为我的ticketid 变量。有没有办法做到这一点?
【问题讨论】:
标签: javascript node.js discord discord.js
我正在制作一个不和谐的机器人,它可以创建票证来验证客户的票证。
我希望能够进入该频道并从该频道获取最新消息并将其设置为我的ticketid 变量。有没有办法做到这一点?
【问题讨论】:
标签: javascript node.js discord discord.js
最简单的方法是使用TextChannel.lastMessage 属性:
<TextChannel>.lastMessage.content
你也可以使用MessageManager.fetch()
// get latest message in channel
<TextChannel>.messages.fetch({ limit: 1 }).then((message) => {
console.log(message.content);
});
仅当您确定消息将被缓存时才有效的替代方法:
<TextChannel>.messages.cache.last()
(TextChannel.lastMessage 是迄今为止最简单和最有效的方法,但我想我会列出其他方法以防万一)
【讨论】:
TextChannel#lastMessage。
从discord.js 文档here 中,您可以使用TextChannel 类中发送到的频道中的最后一条消息,使用lastmessage.id 方法获取其ID 并将其用作您的ticketid。
const channelid = '222109930545610754'
const channel = client.channelmanager.cache.fetch(channelid);
// or const channel = client.channelmanager.cache.find(ids => ids.name === "Name");
// if you have a specified guild. const channel guild.channelmanager.cache.find(ids => ids.name === "Name");
var ticketnumber = channel.lastmessage.id
【讨论】:
TextChannel.lastMessageID