当前位置: 首页 > 知识库问答 >
问题:

Discord js检测到其他BOT的消息

萧心水
2023-03-14

我在试着检测来自另一个不和谐机器人的消息。例如,如果另一个不和谐机器人说“验证码”,我的不和谐机器人将检测到它并ping我。希望有一种方法可以检测另一个机器人的嵌入,而不仅仅是消息。

共有2个答案

吴高畅
2023-03-14

您可以从author(用户对象)中获取bot属性

如果发送消息的人是机器人,则message.author.bot将返回true,否则返回false

对于“验证码”检测,您只需检查消息。内容

柴琦
2023-03-14

可以使用用户上的bot属性检测用户是否为bot。

// create a message event
client.on('message', (message) => {
 if (message.author.bot) {
  // if the message is a bot
  console.log(`${message.author.username} sent: '${message.content}'`); // you can fetch the message text through `message.content`

  if (message.embeds[0])
   // if the message includes an embed
   console.log(
    `${message.author.username} sent an embed with the title ${message.embeds[0].title}`
   ); // you can fetch the embed content through `message.embeds[0]`
 }
});
 类似资料:
  • 我有2条s(特别是2条s),我希望bot发送第一条,然后单击按钮将其编辑到第二条。 机器人将发送消息(one.build())。队列(),然后它将向嵌入添加一个按钮(在我的情况下),如果用户单击该按钮,嵌入将被编辑为两个。 我已经阅读了文档,但没有得到太多信息,所以我认为堆栈溢出会有所帮助。

  • 我目前有一个不和谐机器人,在我自己的私人服务器上运行良好。我希望机器人能够加入其他人的服务器,如果他们选择添加它们,但是我的机器人的一个部分是它会每隔一段时间自动向特定的频道发送消息。为此,我使用了我在服务器上使用的通道的通道ID: 如果我的bot被添加到另一台服务器上,我的服务器的通道id显然无法工作,那么有没有办法从它所在的服务器上自动获取常规通道id?或者是否有其他方法为不同的服务器创建通道

  • 函数“howMany”只是统计了某个特殊的数值的出现次数,有时候我们需要统计每个数值出现的次数。可以用下面这个循环函数完成这项工作。 int numValues = 20; int upperBound = 10; apvector<int> vector = randomVector (numValues, upperBound); cout << "value\thowMany"; for

  • 我不知道如何获取消息的消息链接,discordjs文档似乎没有任何关于消息链接的内容。我试过这个: 但其结果是“行会没有定义”。我这样做对吗?

  • 注:内容翻译自官网文档 Language Guide (proto3) 中的 Using Other Message Types 一节 可以使用其他消息类型作为字段类型. 例如, 假设你想在每个SearchResponse消息中包含Result消息 - 为了做到这点, 你可以在相同的.proto文件中定义Result消息类型然后具体指定SearchResponse中的一个字段为Result类型: