我试图让机器人在公会中创建一个私人频道,但在JDA留档中找不到任何允许这种情况发生的东西。当调用createTextChannel()
时返回的ChannelAction在返回(返回new ChannelAction(路由,名称,公会,ChannelType)中显式地将文本作为通道类型。TEXT);
)。
目前,我正在努力创建一个文本频道,其中包括:
guild.getController(). createTextChannel(channelName).完成();
但我需要一个私人频道。我尝试过编写自己的createPrivateChannel()
方法,但它总是需要在JDA GuildController中实现它。JAVA我还研究了openPrivateChannel()
,但这是针对用户和机器人之间的DMs,我需要在服务器/公会中使用一个私有通道。
有什么想法吗?我是否只需要走很长的路,创建文本频道,然后修改权限,使其对正确的用户可见?
您可以通过使用权限覆盖创建一个“私有”通道。为此,您首先需要使用createTextChannel(name)创建该通道,这将返回一个ChannelAction
这个接口允许你做一些额外的配置,比如权限覆盖(我们需要这个)。您需要拒绝公共角色的
VIEW_CHANNEL
权限,并允许您要访问的特定角色/成员使用该权限。
public static void createTextChannel(Member member, String name) {
Guild guild = member.getGuild();
guild.createTextChannel(name)
.addPermissionOverride(member, EnumSet.of(Permission.VIEW_CHANNEL), null)
.addPermissionOverride(guild.getPublicRole(), null, EnumSet.of(Permission.VIEW_CHANNEL))
.queue(); // this actually sends the request to discord.
}
在jda3中。你需要使用
guild。getController()。createTextChannel()
但该版本不再受支持,您应该使用JDA 4。现在是X。有关如何迁移的详细信息,请参阅《迁移指南》。
我已经使用这个命令创建了一个文本频道,但是文本频道确实被创建了。我已经授予bot管理权限,并在main函数中添加了一个事件侦听器,还扩展了侦听器适配器。 由于我是服务器的所有者,所以我有权管理该频道。 此外,这一行之后的代码执行得很好,只是这一行代码无法创建新的文本通道。 事件是用户为运行此函数而输入的命令。 我使用的是JDA4.2.1
我正在使用不和谐的网络钩子应用编程接口向我的不和谐服务器通道发送消息。在一个新的用例中,我想创建一个带有网络钩子的新频道。不幸的是,我找不到任何API这样做。我看了整个留档https://discordapp.com/developers/docs/resources/webhook#create-webhook 这有可能做到吗?我看到了一个允许它的不和谐机器人的方法——因此我觉得用网络钩子也应该
我通过引用这个数字海洋链接创建了一个discord机器人 现在我可以使用bot向任何频道发送消息,但我的要求是向该服务器的用户发送dm 为此,我尝试了许多答案,并通过其他链接进行了访问,但所有的解决方案最终都是相同的 我尝试了两种方法来获取公会用户并将dm发送给任何一个选定的用户 第一种方式-获取公会(服务器)的所有用户 输出 通过这种方式,它只返回bot名称本身。虽然会员人数是6。 第二种方式-
我正在使用discord.js创建一个discord bot,我想执行如下命令: 前缀为。是消息内容,用户位于命令的末尾。此命令只向标记用户发送一条直接消息。如何重新创建这样的命令?
根据这个http://www.grpc.io/docs/tutorials/basic/python.html#creating-这里的服务器和示例https://github.com/grpc/grpc/tree/v1.0.0/examples/python/route_guide,当我生成我的pb2时。py文件中,应创建几个名为Stub和Servicer的类。但是,我生成了pb2。py文件不包
问题内容: 有什么方法可以在客户端上创建文本文件并提示用户下载文本文件,而无需与服务器进行任何交互?我知道我不能直接写给他们的机器(安全性和全部),但是我可以创建并提示他们保存吗? 问题答案: 您可以使用数据URI。浏览器支持各不相同。 例: 八位字节流将强制进行下载提示。否则,它可能会在浏览器中打开。 对于CSV,您可以使用: