Discord.js 作为机器人获取用户连接

Posted

技术标签:

【中文标题】Discord.js 作为机器人获取用户连接【英文标题】:Discord.js get user connections as bot 【发布时间】:2017-10-30 04:55:42 【问题描述】:

嘿,我正在尝试制作一个机器人来检查用户连接的战网帐户并加载游戏排名。我正在使用 discord.js 库并尝试通过 bot 访问 UserProfile,这是不允许的,因为您不能 .fetchProfile()。基于 discord.js,我只能以这种方式检查 UserProfile 然后 connections 。 我的问题是:机器人有什么方法可以加载用户的连接帐户?我只需要用户验证并连接到不和谐帐户的战网标签。

用户:https://discord.js.org/#/docs/main/stable/class/User

用户资料:https://discord.js.org/#/docs/main/stable/class/UserProfile

非常感谢!

【问题讨论】:

【参考方案1】:

很遗憾,这在使用“真实”机器人帐户时是不可能的,但如果您使用的是用户机器人帐户,则可以。

我建议使用 OAuth2 的解决方法。您可以让用户使用 OAuth2 对您的机器人进行身份验证,然后以这种方式获取他们的连接。更多信息请访问https://discordapp.com/developers/docs/topics/oauth2

【讨论】:

感谢您的回答,是的,我做了一个解决方法并将普通用户帐户用作机器人,希望该帐户不会因为在小型服务器上使用而被禁止:D【参考方案2】:

我想我可能有办法接近它。我花了一段时间,但我想我已经弄清楚如何检查某人(在我的情况下,只是机器人本身)是否正在玩某个游戏。您可以将 client.user 替换为您要检查的用户。代码如下:

if (client.user.presence.game.name == "INSERT GAME TO LOOK FOR HERE")   
    ACTION TO BE CARRIED OUT
 

【讨论】:

以上是关于Discord.js 作为机器人获取用户连接的主要内容,如果未能解决你的问题,请参考以下文章

discord.js 如何从用户 ID 获取 Discord 用户名

Discord.js:机器人应该提到执行命令的用户

(Discord 机器人)当用户加入 Discord 服务器(discord.js)时,如何发送欢迎消息?

Discord.js:返回用户当前的 voice.channelId 已过时

如何使用此 discord.js 代码检查提到的用户邀请?

从反应 discord.js 中获取消息 ID