如何在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();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java