使用 discord.js 查找不和谐消息的内容

Posted

技术标签:

【中文标题】使用 discord.js 查找不和谐消息的内容【英文标题】:Find the content of a discord message with discord.js 【发布时间】:2021-01-02 15:28:38 【问题描述】:

我正在制作一个不和谐的机器人,它可以创建票证来验证客户的票证。

我希望能够进入该频道并从该频道获取最新消息并将其设置为我的ticketid 变量。有没有办法做到这一点?

【问题讨论】:

【参考方案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 是迄今为止最简单和最有效的方法,但我想我会列出其他方法以防万一)

【讨论】:

你不妨使用TextChannel#lastMessage Aaaaa @Jakye 你说得对,我完全忘记了那个属性?【参考方案2】:

从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

【讨论】:

我相信他们在那里指定了他们想使用消息 content 的问题。无论哪种方式,如果他们只需要 ID,他们就可以使用 TextChannel.lastMessageID

以上是关于使用 discord.js 查找不和谐消息的内容的主要内容,如果未能解决你的问题,请参考以下文章

我的不和谐机器人循环了很多消息(discord.js)

如何自动更改不和谐机器人的昵称。 (Javascript)(Discord.js)

如何获取对特定消息做出反应的用户的不和谐 ID discord.js

嵌入消息(不和谐)

Discord.js 在尝试将游戏消息转换为不和谐消息时给我留下“TypeError:无法读取未定义的属性 'includes'”

机器人不发送标签 |不和谐.js