我正在开发一个不和谐的机器人,当用户对机器人消息作出 react 时,首先它应该检查用户是否连接到语音 channel ,如果是,机器人应该加入语音 channel ,我是使用 awaitReactions
它只返回 react 和用户。
如何获得带有用户或 react 的成员(member)语音 channel ?
最佳答案
首先,获取GuildMember
来自User
,有几个选项。
- 使用
Guild#member
。该功能已在master
分支中删除,并且可能不会包含在未来的版本中,但目前仍然非常有用。
const user = ...
const guild = ...
const member = guild.member(user);
- 从
GuildMemberManager#cache
获取成员(member)。如果该成员不在缓存中,您可能必须使用GuildMemberManager#fetch
const user = ...
const guild = ...
const member = guild.members.cache.get(user.id);
您可以找到VoiceChannel
该成员(member)通过他们的 VoiceState
进入。每个 VoiceState
都有一个 channel
属性引用当前所在的语音 channel ,如果未找到 channel ,则返回 null。
const member = ...
const channel = member.voice.channel;
if (channel) channel.join();
关于javascript - 使用表情符号 react 加入用户语音 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65074119/