猿问
如何在JDA中将用户添加到频道?
我正在最新版本上使用JDA创建一个Discord机器人,并希望创建频道,当频道中提到某人时,请添加他们,以便他们可以查看频道。有人知道一种方法吗?
守着星空守着你
浏览 109
回答 1
1回答
芜湖不芜
要允许用户查看频道,您必须为该用户创建权限覆盖。public static void addUserToChannel(Channel channel, User user) { Guild guild = channel.getGuild(); Member member = guild.getMember(user); channel.createPermissionOverride(member) .setAllow(Permission.VIEW_CHANNEL) .queue();}这将为特定用户创建权限覆盖,并允许他们查看频道。要从消息中获取提及的用户,您只需调用 message.get 提及用户()。如果用户已经在通道上具有覆盖,则必须通过管理器检索它并对其进行修改。channel.getPermissionOverride(member)PermissionOverride override = channel.getPermissionOverride(member);override.getManager().grant(Permission.VIEW_CHANNEL).queue();如果没有存在覆盖,则将直接返回 。您可以使用它来确定是创建还是修改。getPermissionOverride(member)null这在 JDA v4 中略有不同,其中已重命名为 。ChannelGuildChannel在该版本中,您可以简单地调用而不是使用管理器。channel.upsertPermissionOverride(member).grant(Permission.VIEW_CHANNEL).queue();
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
我要回答