【问题标题】:Discord Bot, problem while mentioning discord @usersDiscord Bot,提到不和谐@users时出现问题
【发布时间】:2019-04-12 10:27:25
【问题描述】:

The line where i want to mention the user with @

first part of the code1 2nn part of the code after the mention i want to apply2 我正在开发一个不和谐的机器人,我希望机器人提及应用该命令的用户。我可以向您展示更多代码。这有点复杂。我尝试了很多次 Mention.user 和其他一些常见的答案,但什么也没发生。

ps。编辑:如果够的话,我还提供了 2 张带有代码的图像 :)

【问题讨论】:

  • 请在您的问题中发布代码,而不是在图片中。
  • 你使用什么 discordAPI?此外,没有库可以发送“@User”来提及某人,在 discord.py 中您必须发送 userObject.mention(),在 discord.js 中您必须发送用户对象。不懂语言我们无能为力
  • 好的,感谢您回答我,我正在使用 discord.js (Javascript)。那我该怎么办? @TomMartin。你说我必须发送用户对象?我对javascript不太熟悉,你是什么意思?提前谢谢你,我感谢你的帮助:)
  • @BillPapadodemas 是您要在client.on("message"bot.on("message" 中提及用户的“行”吗?如果是,您将可以message.channel.send(`${message.member.user} You are being mentioned!`) 我将在答案中添加更多信息
  • 另外,切勿发布代码图片。请,为了我的理智。

标签: node.js visual-studio-code discord mention


【解决方案1】:

如果您转到the discord.js site 并单击右上角的Documentation,它将带您进入一个页面,您可以在其中了解discord.js api 中的所有对象。

在您的client.on("message") 中,定义了消息,它是一个消息对象,因此要在文档中向下滚动并在左侧查找Message,然后单击它。您现在可以看到该类的所有属性,它有一个author,文档说它的类型是User。我告诉过你,如果你在消息中发送一个用户对象,它会提到用户。所以,发送message.author 和tada!

【讨论】:

    【解决方案2】:

        正如 Tom Martin 所说,您当前的格式与 Discord 的 API 不兼容。这段代码有几个问题。

    首先,除非您希望从 for 循环中得到意外结果,否则您应该更改为 ES6 标准 let 以将词法范围仅维持到该块。

    其次在 Javascript (JS) 中,一切都是对象。所以本质上你必须选择返回用户对象的方法,然后要么立即使用它,要么存储它。不过,如何做到这一点取决于您自己,这里有一个来自 discord.js 的example

    Herediscord.js 文档的用户方法的链接。这将返回由 id 映射的所有用户对象的Collection(数据结构说明)。希望这对您的机器人有所帮助并祝您好运!

    【讨论】:

    • 感谢您的建议,我会尽力而为,但我真的觉得在 js 上写很难。我只熟悉 Java(初学者)。
    • 也许可以尝试通过类似代码学院的初学者课程,它可能有助于弥合 JavaScript 放置的一些抽象,而 Java 没有,反之亦然。另一个很棒的资源是“你不懂 JS”系列丛书。重温一遍,你很快就会成为一名 JS 程序员。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 2021-07-18
    • 2021-01-25
    • 2020-01-22
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    相关资源
    最近更新 更多