Este é mais uma API de fácil compreensão! Nesta API adicionamos reações por emojis de uma maneira prática e rapida!
Para iniciar, é necessário possuir a API em seu projeto, sendo ele maven ou gradle
Para este projeto eu utilizei 2 APIs cruciais para a criação da mesma:
Siga as instruções abaixo:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.yRicardinBaum</groupId>
<artifactId>JDA-Reaction</artifactId>
<version>v2.0</version>
</dependency>
</dependencies>repositories {
mavenCentral()
maven { url = 'https://jitpack.io/' }
}
dependencies {
implementation 'com.github.yRicardinBaum:JDA-Reaction:v2.0'
}Para começarmos, iremos criar a instancia na Main.
public class TestMain {
static JDA bot;
static RiReactiveMessage reactive;
public static void main(String[] args) throws LoginException, InterruptedException {
// BOT MAKING
JDABuilder builder = JDABuilder.createDefault("TOKEN");
bot = builder.build();
bot.awaitReady();
// CONFIGURATION
RiReactiveMessage message = new RiReactiveMessage(bot);
message.initialize();
reactive = message;
}
}Prosseguindo, vamos enviar uma mensagem para algum servidor do bot, para isso vamos pegar as informações do canal a ser enviado:
// CHANNEL INFO
// PEGANDO ID DA GUILDA
Guild guilda = bot.getGuildById("GUILDID");
// ASSERT SE A GUILDA EXISTE
assert guilda != null;
// PEGANDO O PRIMEIRO EMOJI DO SERVIDOR
Emote emoji = guilda.getEmotes().get(0);
// PEGANDO UM CANAL QUALQUER COM O ID PELA GUILDA
TextChannel canal = guilda.getTextChannelById("CHANNELID");Agora iremos preparar a mensagem:
// MESSAGE INFO
// CRIAÇÃO DA EMBED
EmbedBuilder embed = new EmbedBuilder()
.setDescription("teste");
// INJETANDO A REAÇÃO NA EMBED
ReactiveMessage embedToReact = new ReactiveMessage(embed)
// QUANDO O PLAYER REAGIR, O BOT RETIRA A REAÇÃO?
//DEFAULT: FALSE
.removeReactionOnReact(false)
// TEMPO DELIMITADO PARA CADA REAÇÃO?
//DEFAULT: 2
.reactionCooldown(2);Agora iremos configurar os emojis a serem adicionados na mensagem:
// ADICIONANDO REAÇÃO
embedToReact.addReact(emoji, (/*MENSAGEM REAGIDA*/ msg, /*AUTOR DA REAÇÃO*/user) -> {
// CONSTRUÇÃO DE UMA EMBED
EmbedBuilder builder3 = new EmbedBuilder().setDescription("eae");
MessageBuilder embedsla = new MessageBuilder(builder3.build());
// EDITANDO A MENSAGEM AO PLAYER REAGIR
msg.editMessage(embedsla.build()).queue();
// ENVIARÁ NO CONSOLE O NOME DO PLAYER QUE REAGIU
System.out.println(user.getEffectiveName());
});E foi isso, está tudo funcionando. Caso tenha alguma duvida ou problema podem entrar no meu discord: yRicardinBaum.
Discord: Servidor do Discord