我正在制作一个discord机器人,该机器人创建票证以使用票证验证客户。
我希望能够进入该频道并从该频道获取最新消息并将其设置为我的ticketid
变量。有办法吗?
答案 0 :(得分:1)
最简单的方法是使用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
是迄今为止最简单,最有效的方法,但我想我会列出其他方法以防万一)
答案 1 :(得分:0)
从discord.js文档here中,您可以使用lastmessage.id
方法在TextChannel类中发送给您的频道中使用最后一条消息,以获取其ID并将其用于您的票证编号。
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