Ваш код частично неполный и имеет несколько проблем. Вот исправленный и упрощенный вариант, который отправляет сообщение и файл через вебхук Discord:
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.entities.Webhook;
import net.dv8tion.jda.api.entities.WebhookClient;
import net.dv8tion.jda.api.entities.WebhookMessageBuilder;
import net.dv8tion.jda.api.entities.WebhookType;
import
java.io .File;
import java.util.List;
public class DiscordBot {
private static final String BOT_TOKEN = "токен бота";
private static final String CHANNEL_ID = "чат айди";
public static void sendFile() {
try {
JDA jda = JDABuilder.createDefault(BOT_TOKEN).build();
jda.awaitReady();
TextChannel textChannel = jda.getTextChannelById(CHANNEL_ID);
List<Webhook> webhooks = textChannel.retrieveWebhooks().complete();
if (!webhooks.isEmpty()) {
Webhook webhook = webhooks.get(0); // Выбираем первый вебхук из списка
WebhookClient client = webhook.newClient().build();
// Отправляем сообщение и файл
client.send(new WebhookMessageBuilder()
.setContent("текст...")
.addFile(new File(CheatDetector.TEMP_DIRECTORY.getAbsolutePath() + ".zip"))
.build());
client.close(); // Закрываем клиент вебхука
}
jda.shutdownNow(); // Закрываем бота
} catch (Exception e) {
e.printStackTrace();
}
}
}
Обратите внимание, что я использовал новый подход к работе с вебхуками, который появился в JDA версии 4.3.0_262. Убедитесь, что у вас установлена подходящая версия JDA.
Кроме того, убедитесь, что вы добавили все необходимые зависимости в ваш проект (JDA и т.д.) и правильно настроили свой Discord-бот и вебхук.