java - Discord 机器人如何在多个服务器上交换数据?
问题描述
例如,如果我将我的机器人添加到服务器 1 和服务器 2,当服务器 1 上发生特定事件时,我如何在服务器 2 上执行某些操作?这甚至可能吗?
我还没有任何代码,我只想知道这是否可以通过 Discord Java API (JDA) 实现。
解决方案
对的,这是可能的。
- 当您使用 JDA 启动您的机器人时,您将获得一个
JDA
对象,我们称之为 jda (public JDA jda
)。 - 接下来,您使用 ListenerAdapter 映射事件。在 ListenerAdapter 中,您将指定收到每个事件时要执行的操作。检查您可以在https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/hooks/ListenerAdapter.html的方法摘要部分中收听哪些事件。你只需要覆盖你想要的方法。
- 假设在您的实现中
@Override (...)onEmoteAdded() {(your code goes here)}
,您可以有一段代码来操作另一台服务器,例如jda.getGuildById(id).queue()
推荐阅读
- flutter - Flutter OneSignal 通知声音不起作用
- php - 在 Twig 中生成不重复的随机字符串
- mysql - 如何在postgre sql上将几何从一列传输到空列
- c# - 在 Entity Framework Core 中,是否可以将导航属性与支持字段结合使用?
- c# - 控制器中的方法停止在 httpClient.SendAsync(request); ASP.NET
- excel - 仅允许根据相邻的基于逗号的单元格填充数据
- node.js - Vue.js 和 ES7:ReferenceError:未定义 RegeneratorRuntime
- user-interface - Keyboard covers TextField in Flutter
- python - 将 3D numpy 数组乘以 2D numpy 数组
- excel - 运行时错误“1004”。Excel 无法访问“下载”。文档可能是只读的或加密的