Discord Bot,提到不和谐@users时出现问题
Posted
技术标签:
【中文标题】Discord Bot,提到不和谐@users时出现问题【英文标题】:Discord Bot, problem while mentioning discord @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!`)
我将在答案中添加更多信息
另外,切勿发布代码图片。请,为了我的理智。
【参考方案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。Here 是discord.js 文档的用户方法的链接。这将返回由 id 映射的所有用户对象的Collection(数据结构说明)。希望这对您的机器人有所帮助并祝您好运!
【讨论】:
感谢您的建议,我会尽力而为,但我真的觉得在 js 上写很难。我只熟悉 Java(初学者)。 也许可以尝试通过类似代码学院的初学者课程,它可能有助于弥合 JavaScript 放置的一些抽象,而 Java 没有,反之亦然。另一个很棒的资源是“你不懂 JS”系列丛书。重温一遍,你很快就会成为一名 JS 程序员。以上是关于Discord Bot,提到不和谐@users时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
Discord Bot Client.User 在 Python 中转换为 Discord.Utils 时出错