首页 > 解决方案 > Discord 机器人如何在多个服务器上交换数据?

问题描述

例如,如果我将我的机器人添加到服务器 1 和服务器 2,当服务器 1 上发生特定事件时,我如何在服务器 2 上执行某些操作?这甚至可能吗?

我还没有任何代码,我只想知道这是否可以通过 Discord Java API (JDA) 实现。

标签: javadiscorddiscord-jda

解决方案


对的,这是可能的。

  1. 当您使用 JDA 启动您的机器人时,您将获得一个JDA对象,我们称之为 jda ( public JDA jda)。
  2. 接下来,您使用 ListenerAdapter 映射事件。在 ListenerAdapter 中,您将指定收到每个事件时要执行的操作。检查您可以在https://ci.dv8tion.net/job/JDA/javadoc/net/dv8tion/jda/api/hooks/ListenerAdapter.html的方法摘要部分中收听哪些事件。你只需要覆盖你想要的方法。
  3. 假设在您的实现中@Override (...)onEmoteAdded() {(your code goes here)},您可以有一段代码来操作另一台服务器,例如jda.getGuildById​(id).queue()

推荐阅读