Ir para conteúdo
  • Chatbox

    Carregar mais
    Você não tem permissão para conversar :(
Entre para seguir isso  
BrunnoFdc

[Tutorial] Como fazer um "Jogando" dinamico para seu bot no Discord (Igual o da Loritta) com JDA!

Posts Recomendados

Esse tutorial é destinado à quem está criando um bot no Discord usando JDA (Java Discord API). Se você utiliza qualquer outra API, não poderei lhe ajudar.

 

 

Para fazer isso, o processo é mais simples do que parece. Primeiro, vá até a classe Main do seu bot.

 

Crie uma variavel privada e estática do tipo JDA em algum lugar da sua classe.

Por favor, registre-se ou entre para visualizar isso.

Depois, encontre o método build do seu bot (Tanto buildBlocking quanto buildAsync)

 

 

Por favor, registre-se ou entre para visualizar isso.

 

E então, inicialize a variável que você criou com o valor retornado por esse método.

Por favor, registre-se ou entre para visualizar isso.

Depois, crie um método para retornar a variável bot de uma forma que seja acessível por outras classes (public static)

 

gIk6J-F5QGu_dTqQunNpEw.png

 

Depois, crie uma classe, pode ser qualquer nome, eu coloquei GameHandler, e faça essa classe extender a classe TimerTask do Java.

Essa classe é abstrata, então você precisará implementar no código, o método run(). Ficando assim:

 

z-FUBFYfRFCv3Npk2WqchA.png

 

Crie um array de String na classe, e atribua como valores os Games que você deseja exibir. Se preferir, pode ser um List também.

 

HmtgH2w8QsuFsV1T3crjFw.png

 

Depois, vamos fazer com que o JVM escolha um número Por favor, registre-se ou entre para visualizar isso. para nós, e com esse número, escolheremos um dos textos que está dentro da array nomes para ser o nosso Game.

 

xsiCmM-DQDS7UAv6YRjarg.png

 

Caso queira que apareça "Transmitindo" ao invés de "Jogando", coloque o link para um canal da Twitch.tv ao lado do "nome" no método Game.of, como no exemplo abaixo:

 

UMPT45WBTBizKM0uMAgbXA.png

 

Onde está Jovana.getJDA(), você precisa trocar para NomedasuaclasseMain.métodoQueRetornaOJDA();

 

 

Por fim, vamos fazer com que o método run seja executado a cada X segundos. Para isso, faremos o seguinte:

 

Na classe principal, abaixo de onde colocamos o método jda.buildBlocking() ou buildAsync, iremos criar um Timer que irá executar o método run da classe GameHandler a cada 5 segundos (Por exemplo)

 

xsnymX3pTD_plmt844S36w.png

 

Aquele 5 na frente do 1000 corresponde aos intervalos de tempo (Segundos * 1000)

1000 = 1s (1000ms)

 

Vocês podem retirar um dos 5 * 1000 do código. Eu só utilizo assim porque eu coloco um Game diferente para mostrar que o bot está iniciando.

 

Com isso, nós teremos um "jogando" dinâmico :)

 

 

2RPORgpeTsusjZH_FNT0lQ.png  nuSFlqtrTIi_U05O0g9y7w.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×
Hospedagem de Minecraft Host de Minecraft Host de Minecraft BR Host de Minecraft EUA Servidor Cloud Servidor Cloud BR Servidor Cloud EUA