. #196

Merged
greg6775 merged 6 commits from master into greg-dev 2019-12-12 18:52:50 +01:00
45 changed files with 425 additions and 536 deletions
Showing only changes of commit 4f4d549bef - Show all commits

View file

@ -5,6 +5,7 @@ Hadder Discord is a multi-purpose Discord bot with 100% uptime.
<a href="https://discord.gg/58My2dM"><img src="https://discordapp.com/api/guilds/448554629282922527/embed.png"/></a> <a href="https://discord.gg/58My2dM"><img src="https://discordapp.com/api/guilds/448554629282922527/embed.png"/></a>
[![Build Status](https://github.com/BigBotNetwork/Hadder/workflows/Hadder/badge.svg)](https://github.com/BigBotNetwork/Hadder) [![Build Status](https://github.com/BigBotNetwork/Hadder/workflows/Hadder/badge.svg)](https://github.com/BigBotNetwork/Hadder)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/ddb8cb7ec85f467caa691c175e1f01b5)](https://www.codacy.com/gh/BigBotNetwork/Hadder?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=BigBotNetwork/Hadder&amp;utm_campaign=Badge_Grade) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/ddb8cb7ec85f467caa691c175e1f01b5)](https://www.codacy.com/gh/BigBotNetwork/Hadder?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=BigBotNetwork/Hadder&amp;utm_campaign=Badge_Grade)
[![CodeFactor](https://www.codefactor.io/repository/github/bigbotnetwork/hadder/badge)](https://www.codefactor.io/repository/github/bigbotnetwork/hadder)
[![Crowdin](https://badges.crowdin.net/e/bc0babde730eb3eada34778502a31b03/localized.svg)](https://bbn.crowdin.com/hadder) [![Crowdin](https://badges.crowdin.net/e/bc0babde730eb3eada34778502a31b03/localized.svg)](https://bbn.crowdin.com/hadder)
<a href="https://discordextremelist.xyz/bots/Hadder"><img src="https://discordextremelist.xyz/api/bot/637002314162372639/widget"/></a> <a href="https://discordextremelist.xyz/bots/Hadder"><img src="https://discordextremelist.xyz/api/bot/637002314162372639/widget"/></a>

View file

@ -1,5 +1,5 @@
base_url: 'https://bigbotnetwork.com' base_url: 'https://bigbotnetwork.com'
commit_message: '[ci skip] New %language% translation' commit_message: '[ci skip] New %language% translation'
files: files:
- source: /src/main/Translations/en_us.properties - source: /src/main/resources/Translations/Translations_en.properties
translation: /src/main/Translations/%two_letters_code%/%two_letters_code%.properties translation: /src/main/resources/Translations/Translations_%two_letters_code%.properties

View file

View file

@ -25,7 +25,7 @@
<dependency> <dependency>
<groupId>net.dv8tion</groupId> <groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId> <artifactId>JDA</artifactId>
<version>4.0.0_70</version> <version>4.0.0_73</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.json</groupId> <groupId>org.json</groupId>

View file

@ -1,119 +0,0 @@
#
# @author Skidder / GregTCLTK
#
Hadder=Hadderino
user/id= <@User>/<ID>
searchterm=<SearchTerm>
username=<Username>
number=<Nummer>
guildprefix=<New Guild-Prefix>
<@User>=<@User>
on/off=<on/off>
vc-name/id=<VoiceChannelID|VoiceChannelName>
user+nickname=<@user> <New Nickname>
error=Error
none=None
success\!=Success\!
commands.fun.avatar.success.title=Avatar of
commands.fun.avatar.help.description=Sends the avatar of the specified member.
commands.fun.gif.error.description=Please try again with another term.
commands.fun.gif.help.description=Look for a GIF on Giphy
commands.fun.meme.success.title=Your random meme
commands.fun.meme.api.error=The request to the meme API could not be processed. Please try it again later.
commands.fun.meme.help.description=Sends you a random meme.
commands.general.about.success.title=Hadder - About
commands.general.about.success.description=Hadder is an open source Discord bot.
commands.general.about.success.field.one.title=Support the Developers
commands.general.about.success.field.one.description=Hadder is completely free for everyone. We would appreciate it you donate some money [here]
commands.general.about.help.description=Shows infos about Hadder
commands.general.equals.string.first.request=Please send me the first String
commands.general.equals.string.second.request=Please send me the second String
commands.general.equals.string.equals.true=Yes\! The first string equals the second string\!
commands.general.equals.string.equals.false=Well yes but actually No. This isn't the same.
commands.general.equals.string.first=First String
commands.general.equals.string.second=Second String
commands.general.equals.string.result=Result
commands.general.equals.help.description=Check if two strings are the same
commands.general.help.error.description=I need the Embed Links Permission to send the Help Menu\!
commands.general.help.help.description=Shows each command or explains its usage
commands.general.help.help.label=[CommandName]
commands.general.invite.success.title=Invite me\!
commands.general.invite.success.description=[Invite me here\!]
commands.general.invite.help.description=Shows the invitation to invite Hadder to your server
commands.general.ping.help.description=Shows the ping to the Discord API
commands.misc.feedback.title.request.title=Feedback Topic
commands.misc.feedback.title.request.description=Please send me the feedback topic.
commands.misc.feedback.description.request.title=Feedback Description
commands.misc.feedback.description.request.description=Please send me the feedback description now.
commands.misc.feedback.help.description=Sends feedback directly to the developers.
commands.misc.github.link.title=Link your GitHub Account
commands.misc.github.success.title=Information about
commands.misc.github.success.bio=User bio
commands.misc.github.success.location=Location
commands.misc.github.success.website=Website
commands.misc.github.success.repositories=Public repositories
commands.misc.github.success.gists=Public gists
commands.misc.github.success.followers=Followers
commands.misc.github.success.following=Following
commands.misc.github.api.error.description=The GitHub API might be down at the moment\!
commands.misc.github.user.error.description=This user does not exist\!
commands.misc.github.connect.title=Connect you GH account
commands.misc.github.connect.description=Please connect your GitHub account here
commands.misc.github.help.description=Displays information about a GitHub user profile.
commands.misc.screenshare.success.title=Here's your Url to share your Screen
commands.misc.screenshare.id.error.title=Wait that's illegal
commands.misc.screenshare.id.error.description=This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote\: Make sure the Voice Channel is on this Guild.
commands.misc.screenshare.channel.error.title=Please Choose a Voice Channel
commands.misc.screenshare.channel.error.description=There is more than one channel with this name
commands.misc.screenshare.number.error.title=You specified a wrong number\!
commands.misc.screenshare.number.error.description=This isn't a Number.
commands.misc.screenshare.channel.existing.error=Hol' up
commands.misc.screenshare.channel.existing.description=There is no Voice Channel named like this. \n\nNote\: Make sure the Voice Channel is on this Guild.
commands.misc.screenshare.help.description=Shows you the link to share your screen.
commands.moderation.ban.success.title=Successfully banned
commands.moderation.ban.success.description=I successfully baned
commands.moderation.ban.error.title=Not possible
commands.moderation.ban.myself.error.description=I can not ban myself\!
commands.moderation.ban.yourself.error.description=You can't ban yourself\!
commands.moderation.ban.help.description=Bans one ore more user from the server
commands.moderation.clear.number.error.description=You have to choose a number between 1 and 200\!
commands.moderation.clear.success.description=Successfully deleted 69 messages.
commands.moderation.clear.help.description=Deletes the specified number of messages.
commands.moderation.prefix.success.title=Successfully set
commands.moderation.prefix.success.description=I successfully set the new prefix for the guild to
commands.moderation.prefix.error.description=The prefix must not contain ****
commands.moderation.prefix.help.description=Sets the Guild-Prefix.
commands.moderation.invitedetect.activate.success.title=Successfully activated
commands.moderation.invitedetect.activate.success.description=I successfully activated the invite link detection for this guild.
commands.moderation.invitedetect.activate.error.title=Already activated
commands.moderation.invitedetect.activate.error.description=The invite link detection is already activated on this guild.
commands.moderation.invitedetect.deactivate.success.title=Successfully deactivated
commands.moderation.invitedetect.deactivate.success.description=I successfully deactivated the invite link detection for this guild.
commands.moderation.invitedetect.deactivate.error.title=Already deactivated
commands.moderation.invitedetect.deactivate.error.description=The invite link detection is already deactivated on this guild.
commands.moderation.invitedetect.help.description=Activate or deactivate the Discord invite link detection.
commands.moderation.kick.success.title=Successfully kicked
commands.moderation.kick.success.description=I successfully kicked
commands.moderation.kick.myself.error.description=I can not kick myself\!
commands.moderation.kick.yourself.error.description=You can't kick yourself.
commands.moderation.kick.mass.success.description=I successfully kicked 69 Members\!
commands.moderation.kick.help.description=Kicks one or more user from the server.
commands.moderation.link.request.success.description=If i'm on this guild i sent a message to accept the link.
commands.moderation.link.error.title=Wait that's illegal.
commands.moderation.link.request.error.description=You specified the same guild as the guild on which you're reading this
commands.moderation.link.request.accept.title=Skidder wants to link guilds\!
commands.moderation.link.request.accept.description=React with the reactions to accept or decline it
commands.moderation.link.set.title=Set the thing boi
commands.moderation.link.help.description=Links two or more servers.
commands.moderation.nick.success.title=Successfully nicked
commands.moderation.nick.success.description=I successfully nicked
commands.moderation.nick.myself.success.description=I successfully changed my nickname.
commands.moderation.nick.mass.success.description=I successfully nicked 69 Members\!
commands.moderation.nick.help.description=Rename a one or more user.

View file

@ -1,119 +0,0 @@
#
# @author Skidder / GregTCLTK
#
Hadder=Hadder
user/id= <@User>/<ID>
searchterm=<SearchTerm>
username=<Username>
number=<Number>
guildprefix=<New Guild-Prefix>
<@User>=<@User>
on/off=<on/off>
vc-name/id=<VoiceChannelID|VoiceChannelName>
user+nickname=<@user> <New Nickname>
error=Error
none=None
success!=Success!
commands.fun.avatar.success.title=Avatar of
commands.fun.avatar.help.description=Sends the avatar of the specified member.
commands.fun.gif.error.description=Please try again with another term.
commands.fun.gif.help.description=Look for a GIF on Giphy
commands.fun.meme.success.title=Your random meme
commands.fun.meme.api.error=The request to the meme API could not be processed. Please try it again later.
commands.fun.meme.help.description=Sends you a random meme.
commands.general.about.success.title=Hadder - About
commands.general.about.success.description=Hadder is an open source Discord bot.
commands.general.about.success.field.one.title=Support the Developers
commands.general.about.success.field.one.description=Hadder is completely free for everyone. We would appreciate it you donate some money [here]
commands.general.about.help.description=Shows infos about Hadder
commands.general.equals.string.first.request=Please send me the first String
commands.general.equals.string.second.request=Please send me the second String
commands.general.equals.string.equals.true=Yes! The first string equals the second string!
commands.general.equals.string.equals.false=Well yes but actually No. This isn't the same.
commands.general.equals.string.first=First String
commands.general.equals.string.second=Second String
commands.general.equals.string.result=Result
commands.general.equals.help.description=Check if two strings are the same
commands.general.help.error.description=I need the Embed Links Permission to send the Help Menu!
commands.general.help.help.description=Shows each command or explains its usage
commands.general.help.help.label=[CommandName]
commands.general.invite.success.title=Invite me!
commands.general.invite.success.description=[Invite me here!]
commands.general.invite.help.description=Shows the invitation to invite Hadder to your server
commands.general.ping.help.description=Shows the ping to the Discord API
commands.misc.feedback.title.request.title=Feedback Topic
commands.misc.feedback.title.request.description=Please send me the feedback topic.
commands.misc.feedback.description.request.title=Feedback Description
commands.misc.feedback.description.request.description=Please send me the feedback description now.
commands.misc.feedback.help.description=Sends feedback directly to the developers.
commands.misc.github.link.title=Link your GitHub Account
commands.misc.github.success.title=Information about
commands.misc.github.success.bio=User bio
commands.misc.github.success.location=Location
commands.misc.github.success.website=Website
commands.misc.github.success.repositories=Public repositories
commands.misc.github.success.gists=Public gists
commands.misc.github.success.followers=Followers
commands.misc.github.success.following=Following
commands.misc.github.api.error.description=The GitHub API might be down at the moment!
commands.misc.github.user.error.description=This user does not exist!
commands.misc.github.connect.title=Connect you GH account
commands.misc.github.connect.description=Please connect your GitHub account here
commands.misc.github.help.description=Displays information about a GitHub user profile.
commands.misc.screenshare.success.title=Here's your Url to share your Screen
commands.misc.screenshare.id.error.title=Wait that's illegal
commands.misc.screenshare.id.error.description=This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote: Make sure the Voice Channel is on this Guild.
commands.misc.screenshare.channel.error.title=Please Choose a Voice Channel
commands.misc.screenshare.channel.error.description=There is more than one channel with this name
commands.misc.screenshare.number.error.title=You specified a wrong number!
commands.misc.screenshare.number.error.description=This isn't a Number.
commands.misc.screenshare.channel.existing.error=Hol' up
commands.misc.screenshare.channel.existing.description=There is no Voice Channel named like this. \n\nNote: Make sure the Voice Channel is on this Guild.
commands.misc.screenshare.help.description=Shows you the link to share your screen.
commands.moderation.ban.success.title=Successfully banned
commands.moderation.ban.success.description=I successfully baned
commands.moderation.ban.error.title=Not possible
commands.moderation.ban.myself.error.description=I can not ban myself!
commands.moderation.ban.yourself.error.description=You can't ban yourself!
commands.moderation.ban.help.description=Bans one ore more user from the server
commands.moderation.clear.number.error.description=You have to choose a number between 1 and 200!
commands.moderation.clear.success.description=Successfully deleted 69 messages.
commands.moderation.clear.help.description=Deletes the specified number of messages.
commands.moderation.prefix.success.title=Successfully set
commands.moderation.prefix.success.description=I successfully set the new prefix for the guild to
commands.moderation.prefix.error.description=The prefix must not contain **\**
commands.moderation.prefix.help.description=Sets the Guild-Prefix.
commands.moderation.invitedetect.activate.success.title=Successfully activated
commands.moderation.invitedetect.activate.success.description=I successfully activated the invite link detection for this guild.
commands.moderation.invitedetect.activate.error.title=Already activated
commands.moderation.invitedetect.activate.error.description=The invite link detection is already activated on this guild.
commands.moderation.invitedetect.deactivate.success.title=Successfully deactivated
commands.moderation.invitedetect.deactivate.success.description=I successfully deactivated the invite link detection for this guild.
commands.moderation.invitedetect.deactivate.error.title=Already deactivated
commands.moderation.invitedetect.deactivate.error.description=The invite link detection is already deactivated on this guild.
commands.moderation.invitedetect.help.description=Activate or deactivate the Discord invite link detection.
commands.moderation.kick.success.title=Successfully kicked
commands.moderation.kick.success.description=I successfully kicked
commands.moderation.kick.myself.error.description=I can not kick myself!
commands.moderation.kick.yourself.error.description=You can't kick yourself.
commands.moderation.kick.mass.success.description=I successfully kicked 69 Members!
commands.moderation.kick.help.description=Kicks one or more user from the server.
commands.moderation.link.request.success.description=If i'm on this guild i sent a message to accept the link.
commands.moderation.link.error.title=Wait that's illegal.
commands.moderation.link.request.error.description=You specified the same guild as the guild on which you're reading this
commands.moderation.link.request.accept.title=Skidder wants to link guilds!
commands.moderation.link.request.accept.description=React with the reactions to accept or decline it
commands.moderation.link.set.title=Set the thing boi
commands.moderation.link.help.description=Links two or more servers.
commands.moderation.nick.success.title=Successfully nicked
commands.moderation.nick.success.description=I successfully nicked
commands.moderation.nick.myself.success.description=I successfully changed my nickname.
commands.moderation.nick.mass.success.description=I successfully nicked 69 Members!
commands.moderation.nick.help.description=Rename a one or more user.

View file

@ -87,6 +87,7 @@ public class Hadder {
new SoloCommand(), new SoloCommand(),
new RegionChangeCommand(), new RegionChangeCommand(),
new AboutCommand(), new AboutCommand(),
new LanguageCommand(),
new LinkCommand()), config, helpCommand); new LinkCommand()), config, helpCommand);
builder.addEventListeners( builder.addEventListeners(

View file

@ -147,7 +147,7 @@ public class Rethink {
} }
public void insertUser(String id) { public void insertUser(String id) {
this.insert("user", r.hashMap("id", id).with("prefix", "h.")); this.insert("user", r.hashMap("id", id).with("prefix", "h.").with("language", "en"));
} }
public void updateRules(String guild_id, String message_id, String role_id, String accept_emote, String decline_emote) { public void updateRules(String guild_id, String message_id, String role_id, String accept_emote, String decline_emote) {
@ -185,4 +185,12 @@ public class Rethink {
return (Boolean) this.get("server", "id", guild_id, "invite_detect"); return (Boolean) this.get("server", "id", guild_id, "invite_detect");
} }
public void setLanguage(String user_id, String language) {
this.update("users", user_id, "language", language);
}
public String getLanguage(String user_id) {
return (String) this.get("user", "id", user_id, "language");
}
} }

View file

@ -16,14 +16,14 @@ public class AvatarCommand implements Command {
if (args.length == 0) { if (args.length == 0) {
Member member = event.getMember(); Member member = event.getMember();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Avatar of " + member.getUser().getAsTag()) .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.fun.avatar.success.title") + member.getUser().getAsTag())
.setImage(member.getUser().getAvatarUrl()) .setImage(member.getUser().getAvatarUrl())
.setFooter(member.getUser().getAsTag()) .setFooter(member.getUser().getAsTag())
.build()).queue(); .build()).queue();
} else if (event.getMessage().getMentionedMembers().size() == 1) { } else if (event.getMessage().getMentionedMembers().size() == 1) {
Member member = event.getMessage().getMentionedMembers().get(0); Member member = event.getMessage().getMentionedMembers().get(0);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Avatar of " + member.getUser().getAsTag()) .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.fun.avatar.success.title") + member.getUser().getAsTag())
.setImage(member.getUser().getAvatarUrl()) .setImage(member.getUser().getAvatarUrl())
.setFooter(member.getUser().getAsTag()) .setFooter(member.getUser().getAsTag())
.build()).queue(); .build()).queue();
@ -35,7 +35,7 @@ public class AvatarCommand implements Command {
.setFooter(member.getUser().getAsTag()) .setFooter(member.getUser().getAsTag())
.build()).queue(); .build()).queue();
} else { } else {
event.getHelpCommand().sendHelp(this , event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} }
@ -46,11 +46,11 @@ public class AvatarCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Sends the avatar of the specified member."; return MessageEditor.handle("en", "commands.fun.avatar.help.description");
} }
@Override @Override
public String usage() { public String usage() {
return "<@User>/<ID>"; return "[@User]/[ID]";
} }
} }

View file

@ -37,9 +37,9 @@ public class GifCommand implements Command {
String url = array.getJSONObject(gifIndex).get("url").toString(); String url = array.getJSONObject(gifIndex).get("url").toString();
event.getTextChannel().sendMessage(url).queue(); event.getTextChannel().sendMessage(url).queue();
} catch (Exception e) { } catch (Exception e) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).setTitle("Error").setDescription("Please try again with another term.").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).setTitle("Error").setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.fun.gif.error.description")).build()).queue();
} }
} else event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); } else event.getHelpCommand().sendHelp(this, event);
} }
@Override @Override
@ -49,7 +49,7 @@ public class GifCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Look for a GIF on Giphy"; return MessageEditor.handle("en", "commands.fun.gif.help.description");
} }
@Override @Override

View file

@ -28,14 +28,14 @@ public class MemeCommand implements Command {
JSONObject json = new JSONObject(response.body().string()); JSONObject json = new JSONObject(response.body().string());
String url = json.get("image").toString(); String url = json.get("image").toString();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Your random meme") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.fun.meme.success.title"))
.setImage(url) .setImage(url)
.build()).queue(); .build()).queue();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("Error") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "error"))
.setDescription("The request to the meme API could not be processed. Please try it again later.") .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.fun.meme.api.error"))
.setColor(Color.RED) .setColor(Color.RED)
.build()).queue(); .build()).queue();
} }
@ -48,7 +48,7 @@ public class MemeCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Sends you a random meme."; return MessageEditor.handle("en", "commands.fun.meme.help.description");
} }
@Override @Override

View file

@ -13,9 +13,9 @@ public class AboutCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Hadder - About") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.about.success.title"))
.setDescription("Hadder is an open source Discord bot.") .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.about.success.description"))
.addField("Support the Developers", "Hadder is completely free for everyone. We would appreciate it you donate some money [here](https://donatebot.io/checkout/448554629282922527?buyer=" + event.getAuthor().getId() + "). :smiley:", true) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.about.success.field.one.title"), MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.about.success.field.one.description") + "(https://donatebot.io/checkout/448554629282922527?buyer=" + event.getAuthor().getId() + "). :smiley:", true)
.setThumbnail("https://bigbotnetwork.com/images/Hadder.png") .setThumbnail("https://bigbotnetwork.com/images/Hadder.png")
.build()).queue(); .build()).queue();
} }
@ -27,7 +27,7 @@ public class AboutCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Shows infos about Hadder."; return MessageEditor.handle("en", "commands.general.about.help.description");
} }
@Override @Override

View file

@ -16,22 +16,22 @@ public class EqualsCommand implements Command {
event.getChannel().sendMessage( event.getChannel().sendMessage(
new MessageEditor() new MessageEditor()
.setDefaultSettings(MessageEditor.MessageType.INFO) .setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Please send me the first String") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.equals.string.first.request"))
.build()).queue(); .build()).queue();
new EventWaiter().newOnMessageEventWaiter(msgevent -> { new EventWaiter().newOnMessageEventWaiter(msgevent -> {
String firstString = msgevent.getMessage().getContentRaw(); String firstString = msgevent.getMessage().getContentRaw();
event.getChannel().sendMessage( event.getChannel().sendMessage(
new MessageEditor() new MessageEditor()
.setDefaultSettings( .setDefaultSettings(
MessageEditor.MessageType.INFO).setTitle("Please send me the second String").build()).queue(); MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.equals.string.second.request")).build()).queue();
new EventWaiter().newOnMessageEventWaiter(msgevent2 -> { new EventWaiter().newOnMessageEventWaiter(msgevent2 -> {
String secondString = msgevent2.getMessage().getContentRaw(); String secondString = msgevent2.getMessage().getContentRaw();
event.getChannel().sendMessage( event.getChannel().sendMessage(
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle((firstString.equals(secondString)) ? "Yes! The first string equals the second string!" : "Well yes, but actually No. This isn't the same.") .setTitle((firstString.equals(secondString)) ? MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.equals.string.equals.true") : MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.equals.string.equals.false"))
.addField("First String", firstString, false) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.equals.string.first"), firstString, false)
.addField("Second String", secondString, false) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.equals.string.second"), secondString, false)
.addField("Result", String.valueOf(firstString.equals(secondString)), false) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.equals.string.result"), String.valueOf(firstString.equals(secondString)), false)
.build()).queue(); .build()).queue();
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
@ -44,7 +44,7 @@ public class EqualsCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Check if two strings are the same."; return MessageEditor.handle("en", "commands.general.equals.help.description");
} }
@Override @Override

View file

@ -1,13 +1,10 @@
package com.bbn.hadder.commands.general; package com.bbn.hadder.commands.general;
import com.bbn.hadder.Rethink;
import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.entities.User;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -48,25 +45,25 @@ public class HelpCommand implements Command {
for (Command cmd : event.getCommandHandler().getCommandList()) { for (Command cmd : event.getCommandHandler().getCommandList()) {
for (String label : cmd.labels()) { for (String label : cmd.labels()) {
if (label.equalsIgnoreCase(args[0])) { if (label.equalsIgnoreCase(args[0])) {
sendHelp(cmd, event.getRethink(), event.getAuthor(), event.getTextChannel()); sendHelp(cmd, event);
} }
} }
} }
} }
} else { } else {
event.getTextChannel().sendMessage("I need the Embed Links Permission to send the Help Menu!").queue(); event.getTextChannel().sendMessage(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.help.error.description")).queue();
} }
} }
public void sendHelp(Command cmd, Rethink rethink, User author, TextChannel channel) { public void sendHelp(Command cmd, CommandEvent event) {
if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") && if (!cmd.getClass().getPackageName().endsWith("owner") || (cmd.getClass().getPackageName().endsWith("owner") &&
(author.getId().equals("477141528981012511") || author.getId().equals("261083609148948488")))) { (event.getAuthor().getId().equals("477141528981012511") || event.getAuthor().getId().equals("261083609148948488")))) {
EmbedBuilder eb = new EmbedBuilder(); EmbedBuilder eb = new EmbedBuilder();
String name = cmd.labels()[0]; String name = cmd.labels()[0];
eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase())); eb.setDescription(cmd.description()).setTitle(name.replaceFirst(String.valueOf(name.charAt(0)), String.valueOf(name.charAt(0)).toUpperCase()));
eb.addField("Usage", rethink.getUserPrefix(author.getId()) + cmd.labels()[0] + " " + cmd.usage(), false); eb.addField("Usage", event.getRethink().getUserPrefix(event.getAuthor().getId()) + cmd.labels()[0] + " " + cmd.usage(), false);
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO); new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO);
channel.sendMessage(eb.build()).queue(); event.getChannel().sendMessage(eb.build()).queue();
} }
} }
@ -77,11 +74,11 @@ public class HelpCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Shows each command or explains its usage."; return MessageEditor.handle("en", "commands.general.help.help.description");
} }
@Override @Override
public String usage() { public String usage() {
return "[CommandName]"; return MessageEditor.handle("en", "commands.general.help.help.label");
} }
} }

View file

@ -1,9 +1,5 @@
package com.bbn.hadder.commands.general; package com.bbn.hadder.commands.general;
/*
* @author Skidder / GregTCLTK
*/
import com.bbn.hadder.Hadder; import com.bbn.hadder.Hadder;
import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.CommandEvent;
@ -18,8 +14,8 @@ public class InviteCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Invite me!") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.invite.success.title"))
.setDescription("[Invite me here!](https://discordapp.com/oauth2/authorize?client_id=" + Hadder.shardManager.getGuilds().get(0).getSelfMember().getId() + "&scope=bot&permissions=470133879)") .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.general.invite.success.description") + "(https://discordapp.com/oauth2/authorize?client_id=" + Hadder.shardManager.getGuilds().get(0).getSelfMember().getId() + "&scope=bot&permissions=470133879)")
.build()).queue(); .build()).queue();
} }
@ -30,7 +26,7 @@ public class InviteCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Shows the invitation to invite Hadder to your server."; return MessageEditor.handle("en", "commands.general.invite.help.description");
} }
@Override @Override

View file

@ -22,7 +22,7 @@ public class PingCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Shows the ping to the Discord API."; return MessageEditor.handle("en", "commands.general.ping.help.description");
} }
@Override @Override

View file

@ -19,14 +19,14 @@ public class FeedbackCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Feedback Topic") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.feedback.title.request.title"))
.setDescription("Please send me the feedback topic.") .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.feedback.title.request.description"))
.build()).queue(); .build()).queue();
new EventWaiter().newOnMessageEventWaiter(event1 -> { new EventWaiter().newOnMessageEventWaiter(event1 -> {
String title = event1.getMessage().getContentDisplay(); String title = event1.getMessage().getContentDisplay();
event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event1.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Feedback Description") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.feedback.description.request.title"))
.setDescription("Please send me the feedback description now.") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.feedback.description.request.description"))
.build()).queue(); .build()).queue();
new EventWaiter().newOnMessageEventWaiter(event2 -> { new EventWaiter().newOnMessageEventWaiter(event2 -> {
String description = event2.getMessage().getContentDisplay(); String description = event2.getMessage().getContentDisplay();
@ -53,7 +53,7 @@ public class FeedbackCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Sends feedback directly to the developers."; return MessageEditor.handle("en", "commands.misc.feedback.help.description");
} }
@Override @Override

View file

@ -21,7 +21,7 @@ public class GitHubCommand implements Command {
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (args.length > 0) { if (args.length > 0) {
if (args[0].equals("link")) { if (args[0].equals("link")) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("Link your GitHub Account").setDescription("https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.link.title")).setDescription("https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942").build()).queue();
} else { } else {
Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build(); Request request = new Request.Builder().url("https://api.github.com/users/" + args[0]).build();
try { try {
@ -45,27 +45,27 @@ public class GitHubCommand implements Command {
if (!json.getString("blog").equals("")) website = json.getString("blog"); if (!json.getString("blog").equals("")) website = json.getString("blog");
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("Information about " + nickname + " (" + args[0] + ")", "https://github.com/" + args[0] + "", "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png") .setAuthor(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.success.title") + nickname + " (" + args[0] + ")", "https://github.com/" + args[0] + "", "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png")
.setThumbnail(json.getString("avatar_url")) .setThumbnail(json.getString("avatar_url"))
.addField("User bio", bio, false) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.success.bio"), bio, false)
.addField("Location", location, true) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.success.location"), location, true)
.addField("Website", website, true) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.success.website"), website, true)
.addField("Public repositories", String.valueOf(json.getInt("public_repos")), true) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.success.repositories"), String.valueOf(json.getInt("public_repos")), true)
.addField("Public gists", String.valueOf(json.getInt("public_gists")), true) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.success.gists"), String.valueOf(json.getInt("public_gists")), true)
.addField("Followers", String.valueOf(json.getInt("followers")), true) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.success.followers"), String.valueOf(json.getInt("followers")), true)
.addField("Following", String.valueOf(json.getInt("following")), true) .addField(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.success.following"), String.valueOf(json.getInt("following")), true)
.build()).queue(); .build()).queue();
} catch (IOException | NullPointerException e) { } catch (IOException | NullPointerException e) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).setDescription("The GitHub API might be down at the moment!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.api.error.description")).build()).queue();
} catch (JSONException e) { } catch (JSONException e) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("This user does not exist!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.user.error.description")).build()).queue();
} }
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Connect you GH account") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.connect.title"))
.setDescription("[Please connect your GitHub account here](https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942)") .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.github.connect.description") + "(https://github.com/login/oauth/authorize?client_id=25321f690bb1b6952942)")
.build()).queue(); .build()).queue();
} }
} }
@ -77,11 +77,11 @@ public class GitHubCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Displays information about a GitHub user profile."; return MessageEditor.handle("en", "commands.misc.github.help.description");
} }
@Override @Override
public String usage() { public String usage() {
return "<Username>"; return MessageEditor.handle("en", "username");
} }
} }

View file

@ -19,15 +19,15 @@ public class ScreenShareCommand implements Command {
try { try {
if (vc.getIdLong() == Long.parseLong(args[0])) { if (vc.getIdLong() == Long.parseLong(args[0])) {
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Here's your Url to share your Screen") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.success.title"))
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vc.getId() + "/").build()).queue(); .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vc.getId() + "/").build()).queue();
return; return;
} }
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("Wait, that's illegal") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.id.error.title"))
.setDescription("This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote: Make sure the Voice Channel is on this Guild.").build()).queue(); .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.id.error.description")).build()).queue();
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
return; return;
} }
} }
@ -35,8 +35,8 @@ public class ScreenShareCommand implements Command {
List<VoiceChannel> vcs = event.getGuild().getVoiceChannelsByName(String.join(" ", args), true); List<VoiceChannel> vcs = event.getGuild().getVoiceChannelsByName(String.join(" ", args), true);
if (vcs.size() > 1) { if (vcs.size() > 1) {
EmbedBuilder eb = new EmbedBuilder() EmbedBuilder eb = new EmbedBuilder()
.setTitle("Please Choose a Voice Channel") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.channel.error.title"))
.setDescription("There is more than one channel with this name"); .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.channel.error.description"));
for (int i = 0; i < vcs.size(); i++) { for (int i = 0; i < vcs.size(); i++) {
VoiceChannel voiceChannel = vcs.get(i); VoiceChannel voiceChannel = vcs.get(i);
eb.addField(i + ": " + voiceChannel.getName(), voiceChannel.getId(), false); eb.addField(i + ": " + voiceChannel.getName(), voiceChannel.getId(), false);
@ -47,34 +47,34 @@ public class ScreenShareCommand implements Command {
int i = Integer.parseInt(msgevent.getMessage().getContentRaw()); int i = Integer.parseInt(msgevent.getMessage().getContentRaw());
if (vcs.size() > i) { if (vcs.size() > i) {
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Here's your Url to share your Screen") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.success.title"))
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(i).getId() + "/").build()).queue(); .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(i).getId() + "/").build()).queue();
} else { } else {
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("You specified a wrong number!").build()).queue(); .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.number.error.title")).build()).queue();
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("Wait, that's illegal") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.id.error.title"))
.setDescription("This isn't a Number.").build()).queue(); .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.number.error.description")).build()).queue();
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
} else if (vcs.size()==0) { } else if (vcs.size()==0) {
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("Hol' up") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.channel.existing.error"))
.setDescription("There is no Voice Channel named like this. \n\nNote: Make sure the Voice Channel is on this Guild.").build()).queue(); .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.channel.existing.description")).build()).queue();
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} else { } else {
event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Here's your Url to share your Screen") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.misc.screenshare.success.title"))
.setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(0).getId() + "/").build()).queue(); .setDescription("http://discordapp.com/channels/" + event.getGuild().getId() + "/" + vcs.get(0).getId() + "/").build()).queue();
} }
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} }
@ -85,11 +85,11 @@ public class ScreenShareCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Shows you the link to share your screen."; return MessageEditor.handle("en", "commands.misc.screenshare.help.description");
} }
@Override @Override
public String usage() { public String usage() {
return "<VoiceChannelID|VoiceChannelName>"; return MessageEditor.handle("en", "vc-name/id");
} }
} }

View file

@ -21,18 +21,18 @@ public class BanCommand implements Command {
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) { if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
if (event.getGuild().getSelfMember().canInteract(victim)) { if (event.getGuild().getSelfMember().canInteract(victim)) {
event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue(); event.getGuild().ban(victim, 0, "Banned by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully banned ✅").setDescription("I successfully baned " + victim.getUser().getName() + ".").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.success.description") + victim.getUser().getName() + ".").build()).queue();
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("Not possible").setDescription("I can not ban myself!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.myself.error.description")).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("Not possible").setDescription("You can't ban yourself!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.yourself.error.description")).build()).queue();
} }
} else if (event.getMessage().getMentionedMembers().size() == 0) { } else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} else if (event.getMessage().getMentionedMembers().size() > 1) { } else if (event.getMessage().getMentionedMembers().size() > 1) {
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
Member member = event.getMessage().getMentionedMembers().get(i); Member member = event.getMessage().getMentionedMembers().get(i);
@ -44,13 +44,13 @@ public class BanCommand implements Command {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("I can not ban myself!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.myself.error.description")).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("You can't ban yourself!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.yourself.error.description")).build()).queue();
} }
} }
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully banned ✅").setDescription("I successfully banned " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.ban.success.description") + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
@ -64,7 +64,7 @@ public class BanCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Bans one ore more user from the server."; return MessageEditor.handle("en", "commands.moderation.ban.help.description");
} }
@Override @Override

View file

@ -12,6 +12,7 @@ import net.dv8tion.jda.api.entities.Message;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
public class ClearCommand implements Command { public class ClearCommand implements Command {
@ -23,17 +24,23 @@ public class ClearCommand implements Command {
if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) { if (event.getGuild().getMemberById(event.getJDA().getSelfUser().getId()).hasPermission(Permission.MESSAGE_MANAGE)) {
try { try {
int nbToDelete = Integer.parseInt(args[0]); int nbToDelete = Integer.parseInt(args[0]);
if(nbToDelete < 1 || nbToDelete > 200) { if(nbToDelete < 1 || nbToDelete > 99) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("You have to choose a number between 1 and 200!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.clear.number.error.description")).build()).queue();
return; return;
} }
List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete(); List<Message> history = event.getTextChannel().getHistory().retrievePast(nbToDelete +1).complete();
List<Message> msgToDelete = new ArrayList<>(); List<Message> msgToDelete = new ArrayList<>();
msgToDelete.addAll(history); msgToDelete.addAll(history);
event.getTextChannel().deleteMessages(msgToDelete).queue(); event.getTextChannel().deleteMessages(msgToDelete).queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setDescription("Successfully deleted " + nbToDelete + " messages.").build()).queue(); Message msg = event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.clear.success.description") + nbToDelete + " messages.").build()).complete();
try {
TimeUnit.SECONDS.sleep(2);
} catch (InterruptedException e) {
e.printStackTrace();
}
msg.delete().queue();
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
@ -42,7 +49,7 @@ public class ClearCommand implements Command {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} }
@ -53,11 +60,11 @@ public class ClearCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Deletes the specified number of messages."; return MessageEditor.handle("en", "commands.moderation.clear.help.description");
} }
@Override @Override
public String usage() { public String usage() {
return "<Number>"; return MessageEditor.handle("en", "number");
} }
} }

View file

@ -14,12 +14,12 @@ public class GuildPrefixCommand implements Command {
if (!args[0].contains("\"")) { if (!args[0].contains("\"")) {
event.getRethink().setGuildPrefix(args[0], event.getGuild().getId()); event.getRethink().setGuildPrefix(args[0], event.getGuild().getId());
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for the guild to " + args[0]).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.prefix.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.prefix.success.description") + args[0]).build()).queue();
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("The prefix must not contain **\"**").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.prefix.error.description")).build()).queue();
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
@ -33,11 +33,11 @@ public class GuildPrefixCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Sets the Guild-Prefix."; return MessageEditor.handle("en", "commands.moderation.prefix.help.description");
} }
@Override @Override
public String usage() { public String usage() {
return "<New Guild-Prefix>"; return MessageEditor.handle("en", "guildprefix");
} }
} }

View file

@ -21,13 +21,13 @@ public class InviteDetectCommand implements Command {
if (!event.getRethink().getInviteDetection(event.getGuild().getId())) { if (!event.getRethink().getInviteDetection(event.getGuild().getId())) {
event.getRethink().setInviteDetection(event.getGuild().getId(), true); event.getRethink().setInviteDetection(event.getGuild().getId(), true);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully activated") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.invitedetect.activate.success.title"))
.setDescription("I successfully activated the invite link detection for this guild.") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.invitedetect.activate.success.description"))
.build()).queue(); .build()).queue();
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
.setTitle("Already activated") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.invitedetect.activate.error.title"))
.setDescription("The invite link detection is already activated on this guild.") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.invitedetect.activate.error.description"))
.build()).queue(); .build()).queue();
} }
break; break;
@ -36,13 +36,13 @@ public class InviteDetectCommand implements Command {
if (event.getRethink().getInviteDetection(event.getGuild().getId())) { if (event.getRethink().getInviteDetection(event.getGuild().getId())) {
event.getRethink().setInviteDetection(event.getGuild().getId(), false); event.getRethink().setInviteDetection(event.getGuild().getId(), false);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully deactivated") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.invitedetect.deactivate.success.title"))
.setDescription("I successfully deactivated the invite link detection for this guild.") .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.invitedetect.deactivate.success.description"))
.build()).queue(); .build()).queue();
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
.setTitle("Already deactivated") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.invitedetect.deactivate.error.title"))
.setDescription("The invite link detection is already deactivated on this guild.") .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.invitedetect.deactivate.error.description"))
.build()).queue(); .build()).queue();
} }
break; break;
@ -51,7 +51,7 @@ public class InviteDetectCommand implements Command {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} }
@ -62,7 +62,7 @@ public class InviteDetectCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Activate or deactivate the Discord invite link detection."; return MessageEditor.handle("en", "commands.moderation.invitedetect.help.description");
} }
@Override @Override

View file

@ -22,18 +22,18 @@ public class KickCommand implements Command {
if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) { if (!event.getJDA().getSelfUser().getId().equals(victim.getId())) {
if (event.getGuild().getSelfMember().canInteract(victim)) { if (event.getGuild().getSelfMember().canInteract(victim)) {
event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue(); event.getGuild().kick(victim, "Kicked by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + victim.getUser().getName() + ".").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.success.description") + victim.getUser().getName() + ".").build()).queue();
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("I can not kick myself!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.myself.error.description")).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("You can't kick yourself.").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.yourself.error.description")).build()).queue();
} }
} else if (event.getMessage().getMentionedMembers().size() == 0) { } else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} else if (event.getMessage().getMentionedMembers().size() > 1) { } else if (event.getMessage().getMentionedMembers().size() > 1) {
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
Member member = event.getMessage().getMentionedMembers().get(i); Member member = event.getMessage().getMentionedMembers().get(i);
@ -45,13 +45,13 @@ public class KickCommand implements Command {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("I can not kick myself!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.myself.error.description")).build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("You can't kick yourself.").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.yourself.error.description")).build()).queue();
} }
} }
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully kicked ✅").setDescription("I successfully kicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.kick.success.description") + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
} }
} }
} }
@ -63,7 +63,7 @@ public class KickCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Kicks one or more user from the server."; return MessageEditor.handle("en", "commands.moderation.kick.help.description");
} }
@Override @Override

View file

@ -9,7 +9,7 @@ import net.dv8tion.jda.api.entities.Guild;
public class LinkCommand implements Command { public class LinkCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {
if (args.length == 0) event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); if (args.length == 0) event.getHelpCommand().sendHelp(this, event);
switch (args[0].toLowerCase()) { switch (args[0].toLowerCase()) {
case "add": case "add":
if (args.length != 2) return; if (args.length != 2) return;
@ -27,7 +27,7 @@ public class LinkCommand implements Command {
if (!found) { if (!found) {
event.getChannel().sendMessage( event.getChannel().sendMessage(
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "success!")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.link.request.success.description"))
.build()).queue(); .build()).queue();
return; return;
} }
@ -36,7 +36,7 @@ public class LinkCommand implements Command {
if (event.getGuild().getId().equals(args[1])) { if (event.getGuild().getId().equals(args[1])) {
event.getChannel().sendMessage( event.getChannel().sendMessage(
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR) new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
.setTitle("Wait that's illegal.").setDescription("You specified the same guild as the guild on which you're reading this").build()).queue(); .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.link.error.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.link.request.error.description")).build()).queue();
return; return;
} }
@ -49,8 +49,8 @@ public class LinkCommand implements Command {
// Send Request to link Guild // Send Request to link Guild
event.getJDA().getTextChannelById(event.getRethink().getLinkChannel(linkid)).sendMessage( event.getJDA().getTextChannelById(event.getRethink().getLinkChannel(linkid)).sendMessage(
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle(event.getGuild().getName() + " (" + event.getGuild().getId() + ") wants to link guilds!") .setTitle(event.getGuild().getName() + " (" + event.getGuild().getId() + MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.link.request.accept.title"))
.setDescription("React with the reactions to accept or decline it").build() .setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.link.request.accept.description")).build()
).queue( ).queue(
msg -> { msg -> {
msg.addReaction("").queue(); msg.addReaction("").queue();
@ -62,7 +62,7 @@ public class LinkCommand implements Command {
event.getChannel().sendMessage( event.getChannel().sendMessage(
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Success!").setDescription("If i'm on this guild i sent a message to accept the link.") .setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "success!")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.link.request.success.description"))
.build()).queue(); .build()).queue();
break; break;
@ -70,7 +70,7 @@ public class LinkCommand implements Command {
case "channel": case "channel":
if (args.length == 2) { if (args.length == 2) {
event.getRethink().setLinkChannel(event.getGuild().getId(), args[1]); event.getRethink().setLinkChannel(event.getGuild().getId(), args[1]);
event.getChannel().sendMessage(new EmbedBuilder().setTitle("Success").setDescription("Set the thing boi").build()).queue(); event.getChannel().sendMessage(new EmbedBuilder().setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "success!")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.link.set.title")).build()).queue();
} }
break; break;
@ -84,7 +84,7 @@ public class LinkCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Links two or more servers."; return MessageEditor.handle("en", "commands.moderation.link.help.description");
} }
@Override @Override

View file

@ -22,13 +22,13 @@ public class NickCommand implements Command {
if (args.length > 1) { if (args.length > 1) {
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) { if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.success.description") + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue();
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) { } else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); event.getGuild().modifyNickname(event.getMessage().getMentionedMembers().get(0), event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.success.description") + event.getMessage().getMentionedMembers().get(0).getUser().getAsTag() + ".").build()).queue();
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
@ -36,14 +36,14 @@ public class NickCommand implements Command {
} else { } else {
if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) { if (event.getMessage().getContentRaw().startsWith(event.getRethink().getUserPrefix(event.getMember().getId()))) {
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getUserPrefix(event.getMember().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.myself.success.description")).build()).queue();
} else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) { } else if (event.getMessage().getContentRaw().startsWith(event.getRethink().getGuildPrefix(event.getGuild().getId()))) {
event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue(); event.getGuild().getSelfMember().modifyNickname(event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "nick " + args[0], "")).reason("Nicked by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully changed my nickname.").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.myself.success.description")).build()).queue();
} }
} }
} else if (event.getMessage().getMentionedMembers().size() == 0) { } else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} else { } else {
for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) { for (int i = 0; i < event.getMessage().getMentionedMembers().size(); i++) {
Member member = event.getMessage().getMentionedMembers().get(i); Member member = event.getMessage().getMentionedMembers().get(i);
@ -53,7 +53,7 @@ public class NickCommand implements Command {
event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue(); event.getGuild().getSelfMember().modifyNickname(args[args.length - 1]).reason("Mass Nicked by " + event.getAuthor().getAsTag()).queue();
} }
} }
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully nicked ✅").setDescription("I successfully nicked " + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.success.title")).setDescription(MessageEditor.handle(event.getRethink().getLanguage(event.getAuthor().getId()), "commands.moderation.nick.myself.success.description") + event.getMessage().getMentionedMembers().size() + " Members!").build()).queue();
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
@ -70,11 +70,11 @@ public class NickCommand implements Command {
@Override @Override
public String description() { public String description() {
return "Rename a one or more user."; return MessageEditor.handle("en", "commands.moderation.nick.help.description");
} }
@Override @Override
public String usage() { public String usage() {
return "<@user> <New Nickname>"; return MessageEditor.handle("en", "user+nickname");
} }
} }

View file

@ -19,130 +19,58 @@ public class RegionChangeCommand implements Command {
if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) { if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
switch (args[0].toLowerCase()) { switch (args[0].toLowerCase()) {
case "amsterdam": case "amsterdam":
event.getGuild().getManager().setRegion(Region.AMSTERDAM).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.AMSTERDAM, "Amsterdam", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Amsterdam.")
.build()).queue();
break; break;
case "frankfurt": case "frankfurt":
event.getGuild().getManager().setRegion(Region.FRANKFURT).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.FRANKFURT, "Frankfurt", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Frankfurt.")
.build()).queue();
break; break;
case "eu-west": case "eu-west":
event.getGuild().getManager().setRegion(Region.EU_WEST).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.EU_WEST, "EU West", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to EU-West.")
.build()).queue();
break; break;
case "eu-central": case "eu-central":
event.getGuild().getManager().setRegion(Region.EU_CENTRAL).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.EU_CENTRAL, "EU Central", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to EU-Central.")
.build()).queue();
break; break;
case "europe": case "europe":
event.getGuild().getManager().setRegion(Region.EUROPE).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.EUROPE, "EUROPE", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Europe.")
.build()).queue();
break; break;
case "brazil": case "brazil":
event.getGuild().getManager().setRegion(Region.BRAZIL).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.BRAZIL, "Brazil", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Brazil.")
.build()).queue();
break; break;
case "hongkong": case "hongkong":
event.getGuild().getManager().setRegion(Region.HONG_KONG).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.HONG_KONG, "Hong Kong", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Hong Kong.")
.build()).queue();
break; break;
case "india": case "india":
event.getGuild().getManager().setRegion(Region.INDIA).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.INDIA, "India", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to India.")
.build()).queue();
break; break;
case "japan": case "japan":
event.getGuild().getManager().setRegion(Region.JAPAN).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.JAPAN, "Japan", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Japan.")
.build()).queue();
break; break;
case "london": case "london":
event.getGuild().getManager().setRegion(Region.LONDON).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.LONDON, "London", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to London.")
.build()).queue();
break; break;
case "russia": case "russia":
event.getGuild().getManager().setRegion(Region.RUSSIA).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.RUSSIA, "Russia", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Russia.")
.build()).queue();
break; break;
case "singapore": case "singapore":
event.getGuild().getManager().setRegion(Region.SINGAPORE).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.SINGAPORE, "Singapore", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Singapore.")
.build()).queue();
break; break;
case "south-africa": case "south-africa":
event.getGuild().getManager().setRegion(Region.SOUTH_AFRICA).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.SOUTH_AFRICA, "South Africa", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to South Africa.")
.build()).queue();
break; break;
case "sydney": case "sydney":
event.getGuild().getManager().setRegion(Region.SYDNEY).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.SYDNEY, "Sydney", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to Sydney.")
.build()).queue();
break; break;
case "us-central": case "us-central":
event.getGuild().getManager().setRegion(Region.US_CENTRAL).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.US_CENTRAL, "US Central", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to US Central.")
.build()).queue();
break; break;
case "us-east": case "us-east":
event.getGuild().getManager().setRegion(Region.US_EAST).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.US_EAST, "US East", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to US East.")
.build()).queue();
break; break;
case "us-west": case "us-west":
event.getGuild().getManager().setRegion(Region.US_WEST).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.US_WEST, "US West", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to US West.")
.build()).queue();
break; break;
case "us-south": case "us-south":
event.getGuild().getManager().setRegion(Region.US_SOUTH).reason("Region changed by " + event.getAuthor().getAsTag()).queue(); setRegion(Region.US_SOUTH, "US South", event);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to US South.")
.build()).queue();
break; break;
case "list": case "list":
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
@ -159,6 +87,14 @@ public class RegionChangeCommand implements Command {
.build()).queue(); .build()).queue();
} }
public void setRegion (Region region, String region_name, CommandEvent event) {
event.getGuild().getManager().setRegion(region).reason("Region changed by " + event.getAuthor().getAsTag()).queue();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully set region")
.setDescription("I successfully set the new server region to " + region_name + ".")
.build()).queue();
}
@Override @Override
public String[] labels() { public String[] labels() {
return new String[]{"changeregion", "cr", "change-region"}; return new String[]{"changeregion", "cr", "change-region"};

View file

@ -67,7 +67,7 @@ public class RoleCommand implements Command {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
} }
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} }

View file

@ -70,14 +70,17 @@ public class RulesCommand implements Command {
.setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.") .setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
.build()).queue(); .build()).queue();
new EventWaiter().newOnMessageEventWaiter(event3 -> { new EventWaiter().newOnMessageEventWaiter(event3 -> {
if (event.getMessage().getMentionedRoles().size() == 1) { if (event3.getMessage().getMentionedRoles().size() == 1) {
Role role = event.getMessage().getMentionedRoles().get(0); Role role = event3.getMessage().getMentionedRoles().get(0);
setRole(event, channel, message, event3, role); setRole(event, channel, message, event3, role);
} else { } else if (event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).size() > 0) {
if (event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).size()>0) {
Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0); Role role = event3.getGuild().getRolesByName(event3.getMessage().getContentStripped(), true).get(0);
setRole(event, channel, message, event3, role); setRole(event, channel, message, event3, role);
} // TODO } else {
event3.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
.setTitle("Role does not exist")
.setDescription("The specified role does not exist on this guild.")
.build()).queue();
} }
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());
}, event.getJDA(), event.getAuthor()); }, event.getJDA(), event.getAuthor());

View file

@ -19,11 +19,26 @@ public class JoinCommand implements Command {
AudioManager audioManager = event.getGuild().getAudioManager(); AudioManager audioManager = event.getGuild().getAudioManager();
if(!audioManager.isAttemptingToConnect()) { if(!audioManager.isAttemptingToConnect()) {
VoiceChannel vc = event.getMember().getVoiceState().getChannel(); VoiceChannel vc = event.getMember().getVoiceState().getChannel();
if (event.getGuild().getSelfMember().getVoiceState().inVoiceChannel()) {
if (!event.getGuild().getSelfMember().getVoiceState().getChannel().getId().equals(vc.getId())) {
event.getGuild().getAudioManager().openAudioConnection(vc); event.getGuild().getAudioManager().openAudioConnection(vc);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully connected") .setTitle("Successfully connected")
.setDescription("I successfully connected to " + vc.getName() + ".") .setDescription("I successfully connected to " + vc.getName() + ".")
.build()).queue(); .build()).queue();
} else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
.setTitle("Already connected")
.setDescription("I am already connected to your voice channel.")
.build()).queue();
}
} else {
event.getGuild().getAudioManager().openAudioConnection(vc);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Successfully connected")
.setDescription("I successfully connected to " + vc.getName() + ".")
.build()).queue();
}
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING) event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING)
.setTitle("Already trying to connect") .setTitle("Already trying to connect")

View file

@ -77,7 +77,7 @@ public class EvalCommand implements Command {
}, 0, TimeUnit.MILLISECONDS); }, 0, TimeUnit.MILLISECONDS);
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();

View file

@ -22,7 +22,7 @@ public class GuildLeaveCommand implements Command {
.setDescription("I successfully left " + guild.getName()) .setDescription("I successfully left " + guild.getName())
.build()).queue(); .build()).queue();
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} else { } else {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();

View file

@ -0,0 +1,66 @@
package com.bbn.hadder.commands.settings;
/*
* @author Skidder / GregTCLTK
*/
import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor;
public class LanguageCommand implements Command {
@Override
public void executed(String[] args, CommandEvent event) {
if (args.length == 1) {
switch (args[0].toLowerCase()) {
case "de":
setLanguage("de", "German", event);
break;
case "en":
setLanguage("en", "English", event);
break;
case "es":
setLanguage("es", "Spanish", event);
break;
case "fr":
setLanguage("fr", "French", event);
break;
case "ru":
setLanguage("ru", "Russian", event);
break;
case "tr":
setLanguage("tr", "Turkish", event);
break;
case "zh":
setLanguage("zh", "Chinese", event);
break;
}
} else {
event.getHelpCommand().sendHelp(this, event);
}
}
public void setLanguage(String language_code, String language , CommandEvent event) {
event.getRethink().setLanguage(event.getAuthor().getId(), language_code);
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Language set")
.setDescription(language + " is your new language now.")
.build()).queue();
}
@Override
public String[] labels() {
return new String[]{"language"};
}
@Override
public String description() {
return "Sets the new primary language for a user.";
}
@Override
public String usage() {
return "<Language code>";
}
}

View file

@ -16,7 +16,7 @@ public class PrefixCommand implements Command {
event.getRethink().setUserPrefix(args[0], event.getAuthor().getId()); event.getRethink().setUserPrefix(args[0], event.getAuthor().getId());
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for you to " + args[0]).build()).queue(); event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO).setTitle("✅ Successfully set ✅").setDescription("I successfully set the new prefix for you to " + args[0]).build()).queue();
} else { } else {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel()); event.getHelpCommand().sendHelp(this, event);
} }
} }

View file

@ -7,6 +7,7 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink; import com.bbn.hadder.Rethink;
import net.dv8tion.jda.api.Permission; import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.ChannelType; import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.events.message.MessageUpdateEvent; import net.dv8tion.jda.api.events.message.MessageUpdateEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
@ -30,67 +31,43 @@ public class InviteLinkListener extends ListenerAdapter {
if (event.isFromType(ChannelType.TEXT)) { if (event.isFromType(ChannelType.TEXT)) {
if (event.getMessage().getContentRaw().contains("discord.gg/")) { if (event.getMessage().getContentRaw().contains("discord.gg/")) {
if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) { if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1]; checkInvite(event.getMessage(), "discord.gg/");
String invite = split.split(" ")[0];
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
try {
Response response = client.newCall(request).execute();
JSONObject json = new JSONObject(response.body().string());
if (!json.toString().contains("\"message\":")) {
event.getMessage().delete().reason("Invite Link detected").queue();
} }
} catch (Exception e) { } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) {
e.printStackTrace(); if ( !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
} checkInvite(event.getMessage(), "discordapp.com/invite/");
}
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
String invite = split.split(" ")[0];
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
try {
Response response = client.newCall(request).execute();
JSONObject json = new JSONObject(response.body().string());
if (!json.toString().contains("\"message\":")) {
event.getMessage().delete().reason("Invite Link detected").queue();
}
} catch (Exception e) {
e.printStackTrace();
} }
} }
} }
} }
public void checkInvite(Message message, String regex) {
String split = message.getContentRaw().split(regex, 10)[1];
String invite = split.split(" ")[0];
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
try {
Response response = client.newCall(request).execute();
JSONObject json = new JSONObject(response.body().string());
if (!json.toString().contains("\"message\":")) {
message.delete().reason("Invite Link detected").queue();
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override @Override
public void onMessageUpdate(@Nonnull MessageUpdateEvent event) { public void onMessageUpdate(@Nonnull MessageUpdateEvent event) {
if (event.isFromType(ChannelType.TEXT) && event.getMessage().getContentRaw().contains("discord.gg/") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) { if (event.isFromType(ChannelType.TEXT)) {
String split = event.getMessage().getContentRaw().split("discord.gg/", 10)[1]; if (event.getMessage().getContentRaw().contains("discord.gg/")) {
String invite = split.split(" ")[0]; if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
OkHttpClient client = new OkHttpClient(); checkInvite(event.getMessage(), "discord.gg/");
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
try {
Response response = client.newCall(request).execute();
JSONObject json = new JSONObject(response.body().string());
if (!json.toString().contains("\"message\":")) {
event.getMessage().delete().reason("Invite Link detected").queue();
} }
} catch (Exception e) { } else if (event.getMessage().getContentRaw().contains("discordapp.com/invite")) {
e.printStackTrace(); if (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
checkInvite(event.getMessage(), "discordapp.com/invite/");
} }
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethink.getInviteDetection(event.getGuild().getId())) {
String split = event.getMessage().getContentRaw().split("discordapp.com/invite/", 10)[1];
String invite = split.split(" ")[0];
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invites/" + invite).build();
try {
Response response = client.newCall(request).execute();
JSONObject json = new JSONObject(response.body().string());
if (!json.toString().contains("\"message\":")) {
event.getMessage().delete().reason("Invite Link detected").queue();
}
} catch (Exception e) {
e.printStackTrace();
} }
} }
} }

View file

@ -30,14 +30,7 @@ public class RulesListener extends ListenerAdapter {
} }
} }
} else if (event.getReactionEmote().isEmoji()) { } else if (event.getReactionEmote().isEmoji()) {
if (event.getReactionEmote().getEmoji().equals(rethink.getRulesAEmote(event.getGuild().getId()))) {
event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue(); event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethink.getRulesRID(event.getGuild().getId()))).reason("Accepted rules").queue();
} else if (event.getReactionEmote().getEmoji().equals(rethink.getRulesDEmote(event.getGuild().getId()))) {
event.getReaction().removeReaction(event.getUser()).queue();
if (event.getGuild().getSelfMember().canInteract(event.getMember())) {
event.getMember().kick().reason("Declined the rules");
}
}
} }
} }
} }

View file

@ -4,6 +4,8 @@ import net.dv8tion.jda.api.EmbedBuilder;
import java.awt.*; import java.awt.*;
import java.time.Instant; import java.time.Instant;
import java.util.Locale;
import java.util.ResourceBundle;
public class MessageEditor { public class MessageEditor {
@ -59,4 +61,9 @@ public class MessageEditor {
NO_PERMISSION, NO_PERMISSION,
NO_SELF_PERMISSION NO_SELF_PERMISSION
} }
public static String handle(String language_code, String string) {
Locale locale = new Locale(language_code);
return ResourceBundle.getBundle("Translations/Translations", locale).getString(string).replaceAll("%prefix%", "h.");
}
} }

View file

@ -0,0 +1,120 @@
#
# @author Skidder / GregTCLTK
#
#
# @author Skidder / GregTCLTK
#
Hadder = Hadder
searchterm = <SearchTerm>
username = <Username>
number = <Number>
guildprefix = <New Guild-Prefix>
vc-name/id = <VoiceChannelID|VoiceChannelName>
user+nickname = <@user> <New Nickname>
error = Error
none = None
success! = Success!
commands.fun.avatar.success.title = Avatar of
commands.fun.avatar.help.description = Sends the avatar of the specified member.
commands.fun.gif.error.description = Please try again with another term.
commands.fun.gif.help.description = Look for a GIF on Giphy
commands.fun.meme.success.title = Your random meme
commands.fun.meme.api.error = The request to the meme API could not be processed. Please try it again later.
commands.fun.meme.help.description = Sends you a random meme.
commands.general.about.success.title = Hadder - About
commands.general.about.success.description = Hadder is an open source Discord bot.
commands.general.about.success.field.one.title = Support the Developers
commands.general.about.success.field.one.description = Hadder is completely free for everyone. We would appreciate it you donate some money [here]
commands.general.about.help.description = Shows infos about Hadder
commands.general.equals.string.first.request = Please send me the first String
commands.general.equals.string.second.request = Please send me the second String
commands.general.equals.string.equals.true = Yes! The first string equals the second string!
commands.general.equals.string.equals.false = Well yes but actually No. This isn't the same.
commands.general.equals.string.first = First String
commands.general.equals.string.second = Second String
commands.general.equals.string.result = Result
commands.general.equals.help.description = Check if two strings are the same
commands.general.help.error.description = I need the Embed Links Permission to send the Help Menu!
commands.general.help.help.description = Shows each command or explains its usage
commands.general.help.help.label = [CommandName]
commands.general.invite.success.title = Invite me!
commands.general.invite.success.description = [Invite me here!]
commands.general.invite.help.description = Shows the invitation to invite Hadder to your server
commands.general.ping.help.description = Shows the ping to the Discord API
commands.misc.feedback.title.request.title = Feedback Topic
commands.misc.feedback.title.request.description = Please send me the feedback topic.
commands.misc.feedback.description.request.title = Feedback Description
commands.misc.feedback.description.request.description = Please send me the feedback description now.
commands.misc.feedback.help.description = Sends feedback directly to the developers.
commands.misc.github.link.title = Link your GitHub Account
commands.misc.github.success.title = Information about
commands.misc.github.success.bio = User bio
commands.misc.github.success.location = Location
commands.misc.github.success.website = Website
commands.misc.github.success.repositories = Public repositories
commands.misc.github.success.gists = Public gists
commands.misc.github.success.followers = Followers
commands.misc.github.success.following = Following
commands.misc.github.api.error.description = The GitHub API might be down at the moment!
commands.misc.github.user.error.description = This user does not exist!
commands.misc.github.connect.title = Connect you GH account
commands.misc.github.connect.description = [Please connect your GitHub account here]
commands.misc.github.help.description = Displays information about a GitHub user profile.
commands.misc.screenshare.success.title = Here's your Url to share your Screen
commands.misc.screenshare.id.error.title = Wait that's illegal
commands.misc.screenshare.id.error.description = This ID is invalid. \nMaybe you entered a wrong ID? \n\nNote: Make sure the Voice Channel is on this Guild.
commands.misc.screenshare.channel.error.title = Please Choose a Voice Channel
commands.misc.screenshare.channel.error.description = There is more than one channel with this name
commands.misc.screenshare.number.error.title = You specified a wrong number!
commands.misc.screenshare.number.error.description = This isn't a Number.
commands.misc.screenshare.channel.existing.error = Hol' up
commands.misc.screenshare.channel.existing.description = There is no Voice Channel named like this. \n\nNote: Make sure the Voice Channel is on this Guild.
commands.misc.screenshare.help.description = Shows you the link to share your screen.
commands.moderation.ban.success.title = ? Successfully banned ?
commands.moderation.ban.success.description = I successfully baned
commands.moderation.ban.error.title = Not possible
commands.moderation.ban.myself.error.description = I can not ban myself!
commands.moderation.ban.yourself.error.description = You can not ban yourself!
commands.moderation.ban.help.description = Bans one ore more user from the server
commands.moderation.clear.number.error.description = You have to choose a number between 1 and 99!
commands.moderation.clear.success.description = Successfully deleted
commands.moderation.clear.help.description = Deletes the specified number of messages.
commands.moderation.prefix.success.title = ? Successfully set ?
commands.moderation.prefix.success.description = I successfully set the new prefix for the guild to
commands.moderation.prefix.error.description = The prefix must not contain **\"**
commands.moderation.prefix.help.description = Sets the Guild-Prefix.
commands.moderation.invitedetect.activate.success.title = Successfully activated
commands.moderation.invitedetect.activate.success.description = I successfully activated the invite link detection for this guild.
commands.moderation.invitedetect.activate.error.title = Already activated
commands.moderation.invitedetect.activate.error.description = The invite link detection is already activated on this guild.
commands.moderation.invitedetect.deactivate.success.title = Successfully deactivated
commands.moderation.invitedetect.deactivate.success.description = I successfully deactivated the invite link detection for this guild.
commands.moderation.invitedetect.deactivate.error.title = Already deactivated
commands.moderation.invitedetect.deactivate.error.description = The invite link detection is already deactivated on this guild.
commands.moderation.invitedetect.help.description = Activate or deactivate the Discord invite link detection.
commands.moderation.kick.success.title = ? Successfully kicked ?
commands.moderation.kick.success.description = I successfully kicked
commands.moderation.kick.error.title = Not possible
commands.moderation.kick.myself.error.description = I can not kick myself!
commands.moderation.kick.yourself.error.description = You can't kick yourself.
commands.moderation.kick.mass.success.description = I successfully kicked 69 Members!
commands.moderation.kick.help.description = Kicks one or more user from the server.
commands.moderation.link.request.success.description = If i'm on this guild i sent a message to accept the link.
commands.moderation.link.error.title = Wait that's illegal.
commands.moderation.link.request.error.description = You specified the same guild as the guild on which you're reading this
commands.moderation.link.request.accept.title = ) wants to link guilds!
commands.moderation.link.request.accept.description = React with the reactions to accept or decline it
commands.moderation.link.set.title = Set the thing boi
commands.moderation.link.help.description = Links two or more servers.
commands.moderation.nick.success.title = ? Successfully nicked ?
commands.moderation.nick.success.description = I successfully nicked
commands.moderation.nick.myself.success.description = I successfully changed my nickname.
commands.moderation.nick.help.description = Rename a one or more user.