Have done some changes for logging.
This commit is contained in:
parent
93357ecb4e
commit
4180b25348
@ -35,7 +35,6 @@ public class MGZBot {
|
|||||||
|
|
||||||
commandClientBuilder.addCommand(new SuggestCommand());
|
commandClientBuilder.addCommand(new SuggestCommand());
|
||||||
commandClientBuilder.addCommand(new SetActivityCommand());
|
commandClientBuilder.addCommand(new SetActivityCommand());
|
||||||
commandClientBuilder.addCommand(new ToggleNewsRoleCommand());
|
|
||||||
commandClientBuilder.addCommand(new InviteCommand());
|
commandClientBuilder.addCommand(new InviteCommand());
|
||||||
commandClientBuilder.addCommand(new MessageCommand());
|
commandClientBuilder.addCommand(new MessageCommand());
|
||||||
commandClientBuilder.addCommand(new EditMessageCommand());
|
commandClientBuilder.addCommand(new EditMessageCommand());
|
||||||
@ -49,7 +48,7 @@ public class MGZBot {
|
|||||||
.enableIntents(GatewayIntent.GUILD_MEMBERS, GatewayIntent.GUILD_EMOJIS)
|
.enableIntents(GatewayIntent.GUILD_MEMBERS, GatewayIntent.GUILD_EMOJIS)
|
||||||
.addEventListeners(
|
.addEventListeners(
|
||||||
commandClientBuilder.build(),
|
commandClientBuilder.build(),
|
||||||
new GuildsListener(this),
|
new GuildsListener(),
|
||||||
new MainGuildListener(this))
|
new MainGuildListener(this))
|
||||||
.build();
|
.build();
|
||||||
jda.awaitReady();
|
jda.awaitReady();
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
package zone.themcgamer.discordbot.command.impl;
|
|
||||||
|
|
||||||
import com.jagrosh.jdautilities.command.CommandEvent;
|
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
|
||||||
import net.dv8tion.jda.api.entities.Guild;
|
|
||||||
import net.dv8tion.jda.api.entities.Member;
|
|
||||||
import net.dv8tion.jda.api.entities.Role;
|
|
||||||
import zone.themcgamer.discordbot.command.BaseCommand;
|
|
||||||
import zone.themcgamer.discordbot.utilities.EmbedUtils;
|
|
||||||
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ToggleNewsRoleCommand extends BaseCommand {
|
|
||||||
|
|
||||||
public ToggleNewsRoleCommand() {
|
|
||||||
name = "togglenews";
|
|
||||||
aliases = new String[]{"news"};
|
|
||||||
help = "Turn on or off news role.";
|
|
||||||
guildOnly = true;
|
|
||||||
guilds = Collections.singletonList(zone.themcgamer.discordbot.guild.Guild.MAIN);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void execute(CommandEvent event, List<String> args) {
|
|
||||||
Member member = event.getMember();
|
|
||||||
Guild guild = event.getGuild();
|
|
||||||
if (member == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Role newsRole = guild.getRoleById(812440883898875914L);
|
|
||||||
if (newsRole == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (member.getRoles().contains(newsRole)) {
|
|
||||||
guild.removeRoleFromMember(member.getIdLong(), newsRole).queue();
|
|
||||||
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
|
||||||
embedBuilder.setDescription("You have successfully removed the " + newsRole.getAsMention() + " role from your account!");
|
|
||||||
event.reply(embedBuilder.build());
|
|
||||||
} else {
|
|
||||||
guild.addRoleToMember(member.getIdLong(), newsRole).queue();
|
|
||||||
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
|
||||||
embedBuilder.setDescription("You have successfully added the " + newsRole.getAsMention() + " role to your account!");
|
|
||||||
event.reply(embedBuilder.build());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,22 +1,30 @@
|
|||||||
package zone.themcgamer.discordbot.events;
|
package zone.themcgamer.discordbot.events;
|
||||||
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import net.dv8tion.jda.api.EmbedBuilder;
|
import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
|
import net.dv8tion.jda.api.Permission;
|
||||||
import net.dv8tion.jda.api.entities.Guild;
|
import net.dv8tion.jda.api.entities.Guild;
|
||||||
import net.dv8tion.jda.api.entities.TextChannel;
|
import net.dv8tion.jda.api.entities.Role;
|
||||||
import net.dv8tion.jda.api.entities.User;
|
import net.dv8tion.jda.api.entities.User;
|
||||||
import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent;
|
import net.dv8tion.jda.api.events.guild.member.GuildMemberJoinEvent;
|
||||||
import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent;
|
import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent;
|
||||||
|
import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleAddEvent;
|
||||||
|
import net.dv8tion.jda.api.events.guild.member.GuildMemberRoleRemoveEvent;
|
||||||
|
import net.dv8tion.jda.api.events.role.update.RoleUpdateColorEvent;
|
||||||
|
import net.dv8tion.jda.api.events.role.update.RoleUpdateNameEvent;
|
||||||
|
import net.dv8tion.jda.api.events.role.update.RoleUpdatePermissionsEvent;
|
||||||
|
import net.dv8tion.jda.api.events.role.update.RoleUpdatePositionEvent;
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
import net.dv8tion.jda.api.hooks.ListenerAdapter;
|
||||||
import zone.themcgamer.discordbot.BotConstants;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import zone.themcgamer.discordbot.MGZBot;
|
|
||||||
import zone.themcgamer.discordbot.utilities.EmbedUtils;
|
import zone.themcgamer.discordbot.utilities.EmbedUtils;
|
||||||
|
import zone.themcgamer.discordbot.utilities.MessageUtils;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
import java.util.EnumSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class GuildsListener extends ListenerAdapter {
|
public class GuildsListener extends ListenerAdapter {
|
||||||
private final MGZBot mgzBot;
|
|
||||||
@Override
|
@Override
|
||||||
public void onGuildMemberJoin(@Nonnull GuildMemberJoinEvent event) {
|
public void onGuildMemberJoin(@Nonnull GuildMemberJoinEvent event) {
|
||||||
User user = event.getUser();
|
User user = event.getUser();
|
||||||
@ -24,15 +32,11 @@ public class GuildsListener extends ListenerAdapter {
|
|||||||
if (user.isBot())
|
if (user.isBot())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
TextChannel logChannel = mgzBot.getJda().getTextChannelById(BotConstants.HAROLD_LOG);
|
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
||||||
if (logChannel == null)
|
embedBuilder.setTitle("Member Joined");
|
||||||
return;
|
embedBuilder.addField("Member", user.getAsTag() + " (" + user.getId() + ")", true);
|
||||||
EmbedBuilder MemberJoinedEmbed = EmbedUtils.successEmbed();
|
embedBuilder.addField("Guild", guild.getName(), true);
|
||||||
MemberJoinedEmbed.setTitle("Member Joined");
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
MemberJoinedEmbed.addField("Member", user.getAsTag() + " (" + user.getId() + ")", true);
|
|
||||||
MemberJoinedEmbed.addField("Guild", guild.getName(), true);
|
|
||||||
MemberJoinedEmbed.addField("Status", "Success", false);
|
|
||||||
logChannel.sendMessage(MemberJoinedEmbed.build()).queue();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -41,15 +45,103 @@ public class GuildsListener extends ListenerAdapter {
|
|||||||
Guild guild = event.getGuild();
|
Guild guild = event.getGuild();
|
||||||
if (user.isBot())
|
if (user.isBot())
|
||||||
return;
|
return;
|
||||||
TextChannel logChannel = mgzBot.getJda().getTextChannelById(BotConstants.HAROLD_LOG);
|
|
||||||
if (logChannel == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
EmbedBuilder embedBuilder = EmbedUtils.errorEmbed();
|
EmbedBuilder embedBuilder = EmbedUtils.errorEmbed();
|
||||||
embedBuilder.setTitle("Member Left");
|
embedBuilder.setTitle("Member Left");
|
||||||
embedBuilder.addField("Member", user.getAsTag() + " (" + user.getId() + ")", true);
|
embedBuilder.addField("Member", user.getAsTag() + " (" + user.getId() + ")", true);
|
||||||
embedBuilder.addField("Guild", guild.getName(), true);
|
embedBuilder.addField("Guild", guild.getName(), true);
|
||||||
embedBuilder.addField("Status", "Success", false);
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
logChannel.sendMessage(embedBuilder.build()).queue();
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onGuildMemberRoleAdd(@NotNull GuildMemberRoleAddEvent event) {
|
||||||
|
Guild guild = event.getGuild();
|
||||||
|
List<Role> roles = event.getRoles();
|
||||||
|
|
||||||
|
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
||||||
|
embedBuilder.setTitle("Member Role Added");
|
||||||
|
embedBuilder.setDescription(event.getUser().getAsTag());
|
||||||
|
embedBuilder.addField("Role", roles.stream().map(Role::getName).collect(Collectors.joining("&7, &f")), false);
|
||||||
|
embedBuilder.addField("Guild", guild.getName(), true);
|
||||||
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onGuildMemberRoleRemove(@NotNull GuildMemberRoleRemoveEvent event) {
|
||||||
|
Guild guild = event.getGuild();
|
||||||
|
List<Role> roles = event.getRoles();
|
||||||
|
if (roles.size() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
||||||
|
embedBuilder.setTitle("Member Role Added");
|
||||||
|
embedBuilder.setDescription(event.getUser().getAsTag());
|
||||||
|
embedBuilder.addField("Role", roles.stream().map(Role::getName).collect(Collectors.joining(", ")), false);
|
||||||
|
embedBuilder.addField("Guild", guild.getName(), true);
|
||||||
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRoleUpdateColor(@NotNull RoleUpdateColorEvent event) {
|
||||||
|
Guild guild = event.getGuild();
|
||||||
|
Role role = event.getRole();
|
||||||
|
|
||||||
|
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
||||||
|
embedBuilder.setTitle("Role Color Update");
|
||||||
|
embedBuilder.setColor(role.getColor());
|
||||||
|
embedBuilder.addField("Role", role.getAsMention(), false);
|
||||||
|
embedBuilder.addField("Id", role.getId(), false);
|
||||||
|
embedBuilder.addField("Color", Objects.requireNonNull(role.getColor()).toString(), false);
|
||||||
|
embedBuilder.addField("Guild", guild.getName(), true);
|
||||||
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRoleUpdateName(@NotNull RoleUpdateNameEvent event) {
|
||||||
|
Guild guild = event.getGuild();
|
||||||
|
Role role = event.getRole();
|
||||||
|
|
||||||
|
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
||||||
|
embedBuilder.setTitle("Role Name Update");
|
||||||
|
embedBuilder.setColor(role.getColor());
|
||||||
|
embedBuilder.setDescription(event.getOldName() + " **->** " + event.getNewName());
|
||||||
|
embedBuilder.addField("Role", role.getAsMention(), false);
|
||||||
|
embedBuilder.addField("Id", role.getId(), false);
|
||||||
|
embedBuilder.addField("Color", Objects.requireNonNull(role.getColor()).toString(), false);
|
||||||
|
embedBuilder.addField("Guild", guild.getName(), true);
|
||||||
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRoleUpdatePermissions(@NotNull RoleUpdatePermissionsEvent event) {
|
||||||
|
Guild guild = event.getGuild();
|
||||||
|
Role role = event.getRole();
|
||||||
|
EnumSet<Permission> permission = event.getNewPermissions();
|
||||||
|
EnumSet<Permission> oldPermission = event.getOldPermissions();
|
||||||
|
|
||||||
|
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
||||||
|
embedBuilder.setTitle("Role Permission Update");
|
||||||
|
embedBuilder.setColor(role.getColor());
|
||||||
|
embedBuilder.addField("Role", role.getAsMention(), false);
|
||||||
|
embedBuilder.addField("Id", role.getId(), false);
|
||||||
|
embedBuilder.addField("Permissions Added", permission.stream().map(Permission::getName).collect(Collectors.joining(", ")), false);
|
||||||
|
embedBuilder.addField("Permissions Removed", oldPermission.stream().map(Permission::getName).collect(Collectors.joining(", ")), false);
|
||||||
|
embedBuilder.addField("Guild", guild.getName(), true);
|
||||||
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRoleUpdatePosition(@NotNull RoleUpdatePositionEvent event) {
|
||||||
|
Guild guild = event.getGuild();
|
||||||
|
Role role = event.getRole();
|
||||||
|
|
||||||
|
EmbedBuilder embedBuilder = EmbedUtils.successEmbed();
|
||||||
|
embedBuilder.setTitle("Role Position Update");
|
||||||
|
embedBuilder.setColor(role.getColor());
|
||||||
|
embedBuilder.setDescription(event.getOldPosition() + " -> " + event.getNewPosition());
|
||||||
|
embedBuilder.addField("Role", role.getAsMention(), false);
|
||||||
|
embedBuilder.addField("Id", role.getId(), false);
|
||||||
|
embedBuilder.addField("Color", Objects.requireNonNull(role.getColor()).toString(), false);
|
||||||
|
embedBuilder.addField("Guild", guild.getName(), true);
|
||||||
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -44,11 +44,15 @@ public class MainGuildListener extends ListenerAdapter {
|
|||||||
GuildUtils.toggleRole(guild, member, memberRole);
|
GuildUtils.toggleRole(guild, member, memberRole);
|
||||||
Role newsRole = guild.getRoleById(812440883898875914L);
|
Role newsRole = guild.getRoleById(812440883898875914L);
|
||||||
GuildUtils.toggleRole(guild, member, newsRole);
|
GuildUtils.toggleRole(guild, member, newsRole);
|
||||||
|
Role pollsRole = guild.getRoleById(813139198428839976L);
|
||||||
|
GuildUtils.toggleRole(guild, member, pollsRole);
|
||||||
|
Role eventsRole = guild.getRoleById(813140631705878549L);
|
||||||
|
GuildUtils.toggleRole(guild, member, eventsRole);
|
||||||
|
|
||||||
user.openPrivateChannel().queue(privateChannel -> {
|
user.openPrivateChannel().queue(privateChannel -> {
|
||||||
EmbedBuilder embedBuilder = EmbedUtils.defaultEmbed();
|
EmbedBuilder embedBuilder = EmbedUtils.defaultEmbed();
|
||||||
embedBuilder.setThumbnail(mgzBot.getJda().getSelfUser().getAvatarUrl());
|
embedBuilder.setThumbnail(mgzBot.getJda().getSelfUser().getAvatarUrl());
|
||||||
embedBuilder.setDescription("Welcome to **McGamerZone** you have received News & Member role.");
|
embedBuilder.setDescription("Welcome to **McGamerZone**! You have have the default roles applied your account.\nYou can toggle them in #roles channel!");
|
||||||
privateChannel.sendMessage(embedBuilder.build()).queue();
|
privateChannel.sendMessage(embedBuilder.build()).queue();
|
||||||
}, error -> {
|
}, error -> {
|
||||||
TextChannel textChannelById = guild.getTextChannelById(767396615299923998L);
|
TextChannel textChannelById = guild.getTextChannelById(767396615299923998L);
|
||||||
|
@ -48,16 +48,11 @@ public class GuildUtils {
|
|||||||
textChannelById.sendMessage(embedBuilder.build()).queue(message -> message.delete().queueAfter(2, TimeUnit.SECONDS));
|
textChannelById.sendMessage(embedBuilder.build()).queue(message -> message.delete().queueAfter(2, TimeUnit.SECONDS));
|
||||||
});
|
});
|
||||||
|
|
||||||
TextChannel textChannelById = MGZBot.getInstance().getJda().getTextChannelById(BotConstants.HAROLD_LOG);
|
|
||||||
if (textChannelById == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
EmbedBuilder embedBuilder = EmbedUtils.defaultEmbed();
|
EmbedBuilder embedBuilder = EmbedUtils.defaultEmbed();
|
||||||
embedBuilder.setTitle("Role Log");
|
embedBuilder.setTitle("Role Log");
|
||||||
embedBuilder.addField("Member", member.getUser().getAsTag() + " (" + member.getId() + ")", true);
|
embedBuilder.addField("Member", member.getUser().getAsTag() + " (" + member.getId() + ")", true);
|
||||||
embedBuilder.addField("Role", role.getName() + " " + (!member.getRoles().contains(role) ? "(Added)" : "(Removed)"), true);
|
embedBuilder.addField("Role", role.getName() + " " + (!member.getRoles().contains(role) ? "(Added)" : "(Removed)"), true);
|
||||||
embedBuilder.addField("Status", "Success", false);
|
embedBuilder.addField("Status", "Success", false);
|
||||||
textChannelById.sendMessage(embedBuilder.build()).queue();
|
MessageUtils.sendLogMessage(embedBuilder);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,9 +1,14 @@
|
|||||||
package zone.themcgamer.discordbot.utilities;
|
package zone.themcgamer.discordbot.utilities;
|
||||||
|
|
||||||
|
import net.dv8tion.jda.api.EmbedBuilder;
|
||||||
|
import net.dv8tion.jda.api.entities.Message;
|
||||||
import net.dv8tion.jda.api.entities.TextChannel;
|
import net.dv8tion.jda.api.entities.TextChannel;
|
||||||
import zone.themcgamer.discordbot.BotConstants;
|
import zone.themcgamer.discordbot.BotConstants;
|
||||||
|
import zone.themcgamer.discordbot.MGZBot;
|
||||||
import zone.themcgamer.discordbot.command.BaseCommand;
|
import zone.themcgamer.discordbot.command.BaseCommand;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public class MessageUtils {
|
public class MessageUtils {
|
||||||
|
|
||||||
public static void sendUsageMessage(TextChannel textChannel, BaseCommand command) {
|
public static void sendUsageMessage(TextChannel textChannel, BaseCommand command) {
|
||||||
@ -12,4 +17,23 @@ public class MessageUtils {
|
|||||||
.build()
|
.build()
|
||||||
).queue();
|
).queue();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void sendLogMessage(Message message) {
|
||||||
|
Objects.requireNonNull(getLogChannel()).sendMessage(message).queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void sendLogMessage(EmbedBuilder embedBuilder) {
|
||||||
|
Objects.requireNonNull(getLogChannel()).sendMessage(embedBuilder.build()).queue();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static TextChannel getLogChannel() {
|
||||||
|
TextChannel logChannel = MGZBot.getInstance().getJda().getTextChannelById(BotConstants.HAROLD_LOG);
|
||||||
|
if (logChannel == null) {
|
||||||
|
Objects.requireNonNull(MGZBot.getInstance().getJda().getUserById("504069946528104471"))
|
||||||
|
.openPrivateChannel().queue(privateChannel ->
|
||||||
|
privateChannel.sendMessage("There was an error while sending a log message, the channel id is invalid or does not exist.").queue());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return logChannel;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user