Professional Professional
Мудрец
(15955)
1 год назад
Для того чтобы передать ответ консоли на команду обратно в Discord, вы должны слушать ответ консоли и отправить его обратно в канал Discord. Вот пример того, как это можно сделать с использованием Bukkit и JDA:
1. Создайте `CommandSender`, который будет перехватывать сообщения от консоли.
2. Отправьте команду на выполнение с использованием вашего `CommandSender`.
3. Передайте ответ консоли обратно в Discord.
Вот пример реализации:
```java
public class CustomCommandSender implements CommandSender {
private final TextChannel channel;
public CustomCommandSender(TextChannel channel) {
this.channel = channel;
}
@Override
public void sendMessage(String message) {
channel.sendMessage(message).queue();
}
// Реализуйте остальные методы CommandSender...
}
```
Затем, в вашем слушателе:
```java
if (channelId.equals("1135316394364383273")) {
String messageContent = event.getMessage().getContentRaw().trim();
User user = event.getAuthor();
if (!user.isBot()) {
TextChannel channel = event.getTextChannel();
CustomCommandSender customSender = new CustomCommandSender(channel);
getServer().getScheduler().runTask(MineCord.this, () -> getServer().dispatchCommand(customSender, messageContent));
}
}
```
Теперь, когда команда выполняется, все сообщения, которые обычно отправляются в консоль, будут отправляться обратно в Discord-канал с помощью `CustomCommandSender`.
Пожалуйста, учтите, что это простой пример. Вам возможно потребуется реализовать дополнительные методы или обработку ошибок, чтобы этот код работал корректно в вашем окружении.