For Episode 5 of the JDA Series: https://youtu.be/btuzgvDZhA8
https://gist.github.com/zekroTJA/c8ed671204dafbbdf89c36fc3a1827e1
package me.illuminatiproductions;
import me.illuminatiproductions.commands.UserCommand;
import net.dv8tion.jda.core.AccountType;
import net.dv8tion.jda.core.JDA;
import net.dv8tion.jda.core.JDABuilder;
import net.dv8tion.jda.core.hooks.ListenerAdapter;
public class App extends ListenerAdapter {
public static void main(String [] args) throws Exception{
JDA jda = new JDABuilder(AccountType.BOT).setToken("yourtokenhere").buildBlocking();
jda.addEventListener(new UserCommand());
}
}
package me.illuminatiproductions.commands;
import net.dv8tion.jda.core.EmbedBuilder;
import net.dv8tion.jda.core.entities.User;
import net.dv8tion.jda.core.events.message.guild.GuildMessageReceivedEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter;
import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class UserCommand extends ListenerAdapter {
public void onGuildMessageReceived(GuildMessageReceivedEvent e) {
//Current date and time, used for footer on embededbuilder
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date();
String[] message = e.getMessage().getContentRaw().split(" ");
if (message.length == 1 && message[0].equalsIgnoreCase("$user")){
e.getChannel().sendMessage("To get a users info, type $user [name]").queue(); //how to use command
}else if(message.length == 2 && message[0].equalsIgnoreCase("$user")){
String userName = message[1];
User user = e.getGuild().getMembersByName(userName, true).get(0).getUser(); //Gets user as object so we can grab info from it for embed
String avatar = e.getGuild().getMembersByName(userName, true).get(0).getUser().getAvatarUrl(); //gets url of user avatar so we can put in embed
EmbedBuilder avatarEmbed = new EmbedBuilder(); //Creates the embed.
//Sets the contents of the embed
avatarEmbed.setTitle(userName + "'s Info:", e.getGuild().getIconUrl());
avatarEmbed.setColor(Color.GREEN);
avatarEmbed.addField("Name", user.getName(), true);
avatarEmbed.addField("Online Status", e.getGuild().getMembersByName(userName, true).get(0).getOnlineStatus().toString(), true);
avatarEmbed.addField("Avatar: ", "The Avatar is below, " + e.getMember().getAsMention(), true);
avatarEmbed.setImage(avatar);
avatarEmbed.setFooter("Request made @ " + formatter.format(date), e.getGuild().getIconUrl());
//
e.getChannel().sendMessage(avatarEmbed.build()).queue(); //Send the embed as a message
}
}
}