diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..824067a
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,3 @@
+.github/
+target/
+.idea/
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 83d7c35..c6cf5f2 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -57,7 +57,7 @@ If a community member engages in unacceptable behavior, the community organizers
## 7. Reporting Guidelines
-If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. admin@bigbotnetwork.de.
+If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. admin@bigbotnetwork.com.
@@ -77,7 +77,7 @@ This code of conduct and its related procedures also applies to unacceptable beh
## 10. Contact info
-admin@bigbotnetwork.de
+admin@bigbotnetwork.com
## 11. License and attribution
diff --git a/README.md b/README.md
index 1116bc3..1e24aef 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,20 @@
# Hadder
-The Hadder Discord Bot is a multi-purpose Discord Bot.
+Hadder Discord is a multi-purpose Discord bot with 100% uptime.
[](https://github.com/BigBotNetwork/Hadder)
[](https://www.codacy.com/gh/BigBotNetwork/Hadder?utm_source=github.com&utm_medium=referral&utm_content=BigBotNetwork/Hadder&utm_campaign=Badge_Grade)
+[](https://bbn.crowdin.com/hadder)
[](https://top.gg/bot/637002314162372639)
[](https://botlist.space/bot/637002314162372639?utm_source=bls&utm_medium=widget&utm_campaign=637002314162372639)
+
+## Hadder Team
+### Developer
+Skidder#6775
+Hax#6775
+
+### Designer
+TopComp#1288
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..c419263
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1 @@
+theme: jekyll-theme-cayman
\ No newline at end of file
diff --git a/crowdin.yml b/crowdin.yml
new file mode 100644
index 0000000..b5c6ef4
--- /dev/null
+++ b/crowdin.yml
@@ -0,0 +1,5 @@
+base_url: 'https://bigbotnetwork.com'
+commit_message: '[ci skip] New %language% translation'
+files:
+ - source: /src/main/Translations/en_us.properties
+ translation: /src/main/Translations/%two_letters_code%/%two_letters_code%.properties
diff --git a/src/main/Translations/DE_TRANSLATION.properties b/docs/remove.md
similarity index 100%
rename from src/main/Translations/DE_TRANSLATION.properties
rename to docs/remove.md
diff --git a/pom.xml b/pom.xml
index cbb6bb5..5e8bc5b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
Hadder
Hadder
- 0.8-ALPHA
+ 0.10-ALPHA
Hadder
@@ -25,7 +25,7 @@
net.dv8tion
JDA
- 4.0.0_69
+ 4.0.0_70
org.json
diff --git a/src/main/Translations/EN_TRANSLATION.properties b/src/main/Translations/EN_TRANSLATION.properties
deleted file mode 100644
index e69de29..0000000
diff --git a/src/main/Translations/de/de.properties b/src/main/Translations/de/de.properties
new file mode 100644
index 0000000..e6f8a54
--- /dev/null
+++ b/src/main/Translations/de/de.properties
@@ -0,0 +1,119 @@
+#
+# @author Skidder / GregTCLTK
+#
+
+Hadder=Hadderino
+
+user/id= <@User>/
+searchterm=
+username=
+number=
+guildprefix=
+<@User>=<@User>
+on/off=
+vc-name/id=
+user+nickname=<@user>
+
+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.
diff --git a/src/main/Translations/en/en.properties b/src/main/Translations/en/en.properties
new file mode 100644
index 0000000..b7fd562
--- /dev/null
+++ b/src/main/Translations/en/en.properties
@@ -0,0 +1,119 @@
+#
+# @author Skidder / GregTCLTK
+#
+
+Hadder=Hadder
+
+user/id= <@User>/
+searchterm=
+username=
+number=
+guildprefix=
+<@User>=<@User>
+on/off=
+vc-name/id=
+user+nickname=<@user>
+
+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.
diff --git a/src/main/Translations/en_us.properties b/src/main/Translations/en_us.properties
new file mode 100644
index 0000000..961e9aa
--- /dev/null
+++ b/src/main/Translations/en_us.properties
@@ -0,0 +1,119 @@
+#
+# @author Skidder / GregTCLTK
+#
+
+Hadder=Hadder
+
+user/id= <@User>/
+searchterm=
+username=
+number=
+guildprefix=
+<@User>=<@User>
+on/off=
+vc-name/id=
+user+nickname=<@user>
+
+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.
diff --git a/src/main/Translations/es/es.properties b/src/main/Translations/es/es.properties
new file mode 100644
index 0000000..b7fd562
--- /dev/null
+++ b/src/main/Translations/es/es.properties
@@ -0,0 +1,119 @@
+#
+# @author Skidder / GregTCLTK
+#
+
+Hadder=Hadder
+
+user/id= <@User>/
+searchterm=
+username=
+number=
+guildprefix=
+<@User>=<@User>
+on/off=
+vc-name/id=
+user+nickname=<@user>
+
+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.
diff --git a/src/main/Translations/fr/fr.properties b/src/main/Translations/fr/fr.properties
new file mode 100644
index 0000000..b7fd562
--- /dev/null
+++ b/src/main/Translations/fr/fr.properties
@@ -0,0 +1,119 @@
+#
+# @author Skidder / GregTCLTK
+#
+
+Hadder=Hadder
+
+user/id= <@User>/
+searchterm=
+username=
+number=
+guildprefix=
+<@User>=<@User>
+on/off=
+vc-name/id=
+user+nickname=<@user>
+
+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.
diff --git a/src/main/Translations/ru/ru.properties b/src/main/Translations/ru/ru.properties
new file mode 100644
index 0000000..b7fd562
--- /dev/null
+++ b/src/main/Translations/ru/ru.properties
@@ -0,0 +1,119 @@
+#
+# @author Skidder / GregTCLTK
+#
+
+Hadder=Hadder
+
+user/id= <@User>/
+searchterm=
+username=
+number=
+guildprefix=
+<@User>=<@User>
+on/off=
+vc-name/id=
+user+nickname=<@user>
+
+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.
diff --git a/src/main/Translations/tr/tr.properties b/src/main/Translations/tr/tr.properties
new file mode 100644
index 0000000..b7fd562
--- /dev/null
+++ b/src/main/Translations/tr/tr.properties
@@ -0,0 +1,119 @@
+#
+# @author Skidder / GregTCLTK
+#
+
+Hadder=Hadder
+
+user/id= <@User>/
+searchterm=
+username=
+number=
+guildprefix=
+<@User>=<@User>
+on/off=
+vc-name/id=
+user+nickname=<@user>
+
+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.
diff --git a/src/main/Translations/zh/zh.properties b/src/main/Translations/zh/zh.properties
new file mode 100644
index 0000000..b7fd562
--- /dev/null
+++ b/src/main/Translations/zh/zh.properties
@@ -0,0 +1,119 @@
+#
+# @author Skidder / GregTCLTK
+#
+
+Hadder=Hadder
+
+user/id= <@User>/
+searchterm=
+username=
+number=
+guildprefix=
+<@User>=<@User>
+on/off=
+vc-name/id=
+user+nickname=<@user>
+
+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.
diff --git a/src/META-INF/MANIFEST.MF b/src/main/java/META-INF/MANIFEST.MF
similarity index 100%
rename from src/META-INF/MANIFEST.MF
rename to src/main/java/META-INF/MANIFEST.MF
diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java
index 71e75f9..c17982b 100644
--- a/src/main/java/com/bbn/hadder/Hadder.java
+++ b/src/main/java/com/bbn/hadder/Hadder.java
@@ -79,6 +79,14 @@ public class Hadder {
new GuildLeaveCommand(),
new MemeCommand(),
new InviteDetectCommand(),
+ new BDSMCommand(),
+ new FingeringCommand(),
+ new LickingCommand(),
+ new SpankCommand(),
+ new RandomPornCommand(),
+ new SoloCommand(),
+ new RegionChangeCommand(),
+ new AboutCommand(),
new LinkCommand()), config, helpCommand);
builder.addEventListeners(
@@ -87,7 +95,7 @@ public class Hadder {
new CommandListener(rethink, commandHandler),
new GuildListener(rethink, config),
new ReadyListener(rethink, config),
- //new LinkListener(rethink),
+ // new LinkListener(rethink),
new InviteLinkListener(rethink),
new RulesListener(rethink));
diff --git a/src/main/java/com/bbn/hadder/Rethink.java b/src/main/java/com/bbn/hadder/Rethink.java
index 283a1a1..caf380f 100644
--- a/src/main/java/com/bbn/hadder/Rethink.java
+++ b/src/main/java/com/bbn/hadder/Rethink.java
@@ -166,11 +166,11 @@ public class Rethink {
}
public String getRulesAEmote(String guild_id) {
- return (String) this.get("server", "id", guild_id, "accept_emote");
+ return this.get("server", "id", guild_id, "accept_emote").toString().replaceAll("\"", "");
}
public String getRulesDEmote(String guild_id) {
- return (String) this.get("server", "id", guild_id, "decline_emote");
+ return this.get("server", "id", guild_id, "decline_emote").toString().replaceAll("\"", "");
}
public void setInviteDetection(String guild_id, boolean b) {
diff --git a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
index 7d7bdec..bcab30a 100644
--- a/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/fun/GifCommand.java
@@ -39,9 +39,7 @@ public class GifCommand implements Command {
} catch (Exception e) {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR).setTitle("Error").setDescription("Please try again with another term.").build()).queue();
}
- } else {
- event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
- }
+ } else event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java b/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
index 3accd6c..67a1b44 100644
--- a/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/fun/MemeCommand.java
@@ -34,7 +34,7 @@ public class MemeCommand implements Command {
} catch (IOException e) {
e.printStackTrace();
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
- .setTitle("Error!")
+ .setTitle("Error")
.setDescription("The request to the meme API could not be processed. Please try it again later.")
.setColor(Color.RED)
.build()).queue();
diff --git a/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java b/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java
new file mode 100644
index 0000000..8fb0b28
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/general/AboutCommand.java
@@ -0,0 +1,37 @@
+package com.bbn.hadder.commands.general;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+
+public class AboutCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("Hadder - About")
+ .setDescription("Hadder is an open source Discord bot.")
+ .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)
+ .setThumbnail("https://bigbotnetwork.com/images/Hadder.png")
+ .build()).queue();
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"about", "info"};
+ }
+
+ @Override
+ public String description() {
+ return "Shows infos about Hadder.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java b/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
index d23bead..9fdb21f 100644
--- a/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/EqualsCommand.java
@@ -44,7 +44,7 @@ public class EqualsCommand implements Command {
@Override
public String description() {
- return "Check if two strings are the same";
+ return "Check if two strings are the same.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java b/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
index bb7c868..1d196ac 100644
--- a/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/HelpCommand.java
@@ -77,7 +77,7 @@ public class HelpCommand implements Command {
@Override
public String description() {
- return "Shows each command or explains its usage";
+ return "Shows each command or explains its usage.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java b/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
index 1d99179..093b03c 100644
--- a/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/InviteCommand.java
@@ -30,7 +30,7 @@ public class InviteCommand implements Command {
@Override
public String description() {
- return "Shows the invitation to invite Hadder to your server";
+ return "Shows the invitation to invite Hadder to your server.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/general/PingCommand.java b/src/main/java/com/bbn/hadder/commands/general/PingCommand.java
index 536975a..0cb5849 100644
--- a/src/main/java/com/bbn/hadder/commands/general/PingCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/general/PingCommand.java
@@ -22,7 +22,7 @@ public class PingCommand implements Command {
@Override
public String description() {
- return "Shows the ping to the Discord API";
+ return "Shows the ping to the Discord API.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java b/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java
index 1e14ae3..c6aa12b 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/misc/GitHubCommand.java
@@ -31,7 +31,7 @@ public class GitHubCommand implements Command {
String nickname = json.getString("name");
String bio = "None";
- String location = "Unknown";
+ String location = "None";
String website = "None";
try {
bio = json.getString("bio");
@@ -77,7 +77,7 @@ public class GitHubCommand implements Command {
@Override
public String description() {
- return "Displays information about a GitHub user profile";
+ return "Displays information about a GitHub user profile.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java b/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
index 15d2909..1678f56 100644
--- a/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/misc/ScreenShareCommand.java
@@ -85,7 +85,7 @@ public class ScreenShareCommand implements Command {
@Override
public String description() {
- return "Shows you the link to share your screen";
+ return "Shows you the link to share your screen.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java
index 178ebdb..7c8ce46 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/BanCommand.java
@@ -26,10 +26,10 @@ public class BanCommand implements Command {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
}
} 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("Not possible").setDescription("I can not ban myself!").build()).queue();
}
} 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("Not possible").setDescription("You can't ban yourself!").build()).queue();
}
} else if (event.getMessage().getMentionedMembers().size() == 0) {
event.getHelpCommand().sendHelp(this, event.getRethink(), event.getAuthor(), event.getTextChannel());
@@ -47,7 +47,7 @@ public class BanCommand implements Command {
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setDescription("I can not ban myself!").build()).queue();
}
} 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).setDescription("You can't ban yourself!").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();
@@ -64,7 +64,7 @@ public class BanCommand implements Command {
@Override
public String description() {
- return "Bans one ore more user from the server";
+ return "Bans one ore more user from the server.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java
index a4288a7..cf5fd6a 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/ClearCommand.java
@@ -53,7 +53,7 @@ public class ClearCommand implements Command {
@Override
public String description() {
- return "Deletes the specified number of messages";
+ return "Deletes the specified number of messages.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java
index 38b9d21..5281789 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/GuildPrefixCommand.java
@@ -33,7 +33,7 @@ public class GuildPrefixCommand implements Command {
@Override
public String description() {
- return "Sets the Guild-Prefix";
+ return "Sets the Guild-Prefix.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java
index 416027b..9da327a 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/KickCommand.java
@@ -63,7 +63,7 @@ public class KickCommand implements Command {
@Override
public String description() {
- return "Kicks one or more user from the server";
+ return "Kicks one or more user from the server.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/LinkCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/LinkCommand.java
index 84a91a3..4a08fbb 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/LinkCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/LinkCommand.java
@@ -36,7 +36,7 @@ public class LinkCommand implements Command {
if (event.getGuild().getId().equals(args[1])) {
event.getChannel().sendMessage(
new MessageEditor().setDefaultSettings(MessageEditor.MessageType.ERROR)
- .setTitle("Wait thats illegal.").setDescription("You specified the same guild as the guild on which you're reading this").build()).queue();
+ .setTitle("Wait that's illegal.").setDescription("You specified the same guild as the guild on which you're reading this").build()).queue();
return;
}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
index 3fb30f7..4138901 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/NickCommand.java
@@ -70,7 +70,7 @@ public class NickCommand implements Command {
@Override
public String description() {
- return "Rename a one or more user";
+ return "Rename a one or more user.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java
new file mode 100644
index 0000000..f1788fe
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/moderation/RegionChangeCommand.java
@@ -0,0 +1,176 @@
+package com.bbn.hadder.commands.moderation;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import net.dv8tion.jda.api.Permission;
+import net.dv8tion.jda.api.Region;
+
+public class RegionChangeCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (args.length == 1) {
+ if (event.getGuild().getSelfMember().hasPermission(Permission.MANAGE_SERVER)) {
+ if (event.getMember().hasPermission(Permission.MANAGE_SERVER) || event.getConfig().getOwners().toString().contains(event.getAuthor().getId())) {
+ switch (args[0].toLowerCase()) {
+ case "amsterdam":
+ event.getGuild().getManager().setRegion(Region.AMSTERDAM).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 Amsterdam.")
+ .build()).queue();
+ break;
+ case "frankfurt":
+ event.getGuild().getManager().setRegion(Region.FRANKFURT).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 Frankfurt.")
+ .build()).queue();
+ break;
+ case "eu-west":
+ event.getGuild().getManager().setRegion(Region.EU_WEST).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 EU-West.")
+ .build()).queue();
+ break;
+ case "eu-central":
+ event.getGuild().getManager().setRegion(Region.EU_CENTRAL).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 EU-Central.")
+ .build()).queue();
+ break;
+ case "europe":
+ event.getGuild().getManager().setRegion(Region.EUROPE).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 Europe.")
+ .build()).queue();
+ break;
+ case "brazil":
+ event.getGuild().getManager().setRegion(Region.BRAZIL).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 Brazil.")
+ .build()).queue();
+ break;
+ case "hongkong":
+ event.getGuild().getManager().setRegion(Region.HONG_KONG).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 Hong Kong.")
+ .build()).queue();
+ break;
+ case "india":
+ event.getGuild().getManager().setRegion(Region.INDIA).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 India.")
+ .build()).queue();
+ break;
+ case "japan":
+ event.getGuild().getManager().setRegion(Region.JAPAN).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 Japan.")
+ .build()).queue();
+ break;
+ case "london":
+ event.getGuild().getManager().setRegion(Region.LONDON).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 London.")
+ .build()).queue();
+ break;
+ case "russia":
+ event.getGuild().getManager().setRegion(Region.RUSSIA).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 Russia.")
+ .build()).queue();
+ break;
+ case "singapore":
+ event.getGuild().getManager().setRegion(Region.SINGAPORE).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 Singapore.")
+ .build()).queue();
+ break;
+ case "south-africa":
+ event.getGuild().getManager().setRegion(Region.SOUTH_AFRICA).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 South Africa.")
+ .build()).queue();
+ break;
+ case "sydney":
+ event.getGuild().getManager().setRegion(Region.SYDNEY).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 Sydney.")
+ .build()).queue();
+ break;
+ case "us-central":
+ event.getGuild().getManager().setRegion(Region.US_CENTRAL).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 US Central.")
+ .build()).queue();
+ break;
+ case "us-east":
+ event.getGuild().getManager().setRegion(Region.US_EAST).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 US East.")
+ .build()).queue();
+ break;
+ case "us-west":
+ event.getGuild().getManager().setRegion(Region.US_WEST).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 US West.")
+ .build()).queue();
+ break;
+ case "us-south":
+ event.getGuild().getManager().setRegion(Region.US_SOUTH).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 US South.")
+ .build()).queue();
+ break;
+ case "list":
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("All regions")
+ .setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`")
+ .build()).queue();
+ break;
+ }
+ } else event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_PERMISSION).build()).queue();
+ } else event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
+ } else event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setTitle("All regions")
+ .setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`")
+ .build()).queue();
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"changeregion", "cr", "change-region"};
+ }
+
+ @Override
+ public String description() {
+ return "Changes the server region to locked regions.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
index d6e80f8..244df86 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/RulesCommand.java
@@ -64,7 +64,7 @@ public class RulesCommand implements Command {
.setDescription("The channel was successfully set to " + channel.getName() + ". Please send me the rules now.")
.build()).queue();
new EventWaiter().newOnMessageEventWaiter(event2 -> {
- String message = event2.getMessage().getContentDisplay();
+ String message = event2.getMessage().getContentRaw();
event2.getChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setTitle("Role to assign")
.setDescription("The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.")
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java
index a053a87..74faee4 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/AnalCommand.java
@@ -10,6 +10,7 @@ import com.bbn.hadder.utils.MessageEditor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.json.JSONObject;
import java.io.IOException;
@@ -20,12 +21,15 @@ public class AnalCommand implements Command {
if (event.getTextChannel().isNSFW()) {
OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/anal").build();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/anal/").build();
try {
Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/BDSMCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/BDSMCommand.java
new file mode 100644
index 0000000..602fd22
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/BDSMCommand.java
@@ -0,0 +1,63 @@
+package com.bbn.hadder.commands.nsfw;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import java.io.IOException;
+
+public class BDSMCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getTextChannel().isNSFW()) {
+
+ OkHttpClient caller = new OkHttpClient();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/img/bdsm_lewd").build();
+
+ try {
+
+ Response response = caller.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
+
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setAuthor("Image not showing? Click here", url.replace("\"}", ""))
+ .setImage(url.replace("\"}", ""))
+ .setFooter("BDSM")
+ .build()).queue();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"bdsm"};
+ }
+
+ @Override
+ public String description() {
+ return "Shows a random bdsm picture.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java
index 3b74e25..90625b4 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/BoobsCommand.java
@@ -10,6 +10,7 @@ import com.bbn.hadder.utils.MessageEditor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.json.JSONObject;
import java.io.IOException;
@@ -20,12 +21,15 @@ public class BoobsCommand implements Command {
if (event.getTextChannel().isNSFW()) {
OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/boobs").build();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/tits/").build();
try {
Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
@@ -44,7 +48,7 @@ public class BoobsCommand implements Command {
@Override
public String[] labels() {
- return new String[]{"boobs"};
+ return new String[]{"boobs", "boob", "tits"};
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java
index acb2da9..1bfae5e 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/CumCommand.java
@@ -10,6 +10,7 @@ import com.bbn.hadder.utils.MessageEditor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.json.JSONObject;
import java.io.IOException;
@@ -20,12 +21,15 @@ public class CumCommand implements Command {
if (event.getTextChannel().isNSFW()) {
OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/cum").build();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/cum/").build();
try {
Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java
index 8a55c83..8f99c18 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/FeetCommand.java
@@ -10,6 +10,7 @@ import com.bbn.hadder.utils.MessageEditor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.json.JSONObject;
import java.io.IOException;
@@ -20,15 +21,18 @@ public class FeetCommand implements Command {
if (event.getTextChannel().isNSFW()) {
OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/feet").build();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/feet/").build();
try {
Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
- .setAuthor("Image not showing? Click here", url.replace("\"}", ""))
+ .setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
.setImage(url.replace("\"}", ""))
.setFooter("Feet")
.build()).queue();
@@ -49,7 +53,7 @@ public class FeetCommand implements Command {
@Override
public String description() {
- return "Shows a random feet picture.";
+ return "Shows a random feet gif.";
}
@Override
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/FingeringCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/FingeringCommand.java
new file mode 100644
index 0000000..2e7f063
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/FingeringCommand.java
@@ -0,0 +1,63 @@
+package com.bbn.hadder.commands.nsfw;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import java.io.IOException;
+
+public class FingeringCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getTextChannel().isNSFW()) {
+
+ OkHttpClient caller = new OkHttpClient();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/pussy_wank/").build();
+
+ try {
+
+ Response response = caller.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
+
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
+ .setImage(url.replace("\"}", ""))
+ .setFooter("Fingering")
+ .build()).queue();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"fingering"};
+ }
+
+ @Override
+ public String description() {
+ return "Shows a random fingering gif.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/LickingCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/LickingCommand.java
new file mode 100644
index 0000000..439af12
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/LickingCommand.java
@@ -0,0 +1,63 @@
+package com.bbn.hadder.commands.nsfw;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import java.io.IOException;
+
+public class LickingCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getTextChannel().isNSFW()) {
+
+ OkHttpClient caller = new OkHttpClient();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/kuni/").build();
+
+ try {
+
+ Response response = caller.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
+
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
+ .setImage(url.replace("\"}", ""))
+ .setFooter("Licking")
+ .build()).queue();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"licking"};
+ }
+
+ @Override
+ public String description() {
+ return "Shows a random licking gif.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java
index a92b4b6..53faacd 100644
--- a/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/PornCommand.java
@@ -10,6 +10,7 @@ import com.bbn.hadder.utils.MessageEditor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
+import org.json.JSONObject;
import java.io.IOException;
@@ -20,12 +21,15 @@ public class PornCommand implements Command {
if (event.getTextChannel().isNSFW()) {
OkHttpClient caller = new OkHttpClient();
- Request request = new Request.Builder().url("https://nekos.life/api/v2/img/classic").build();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/classic/").build();
try {
Response response = caller.newCall(request).execute();
- String url = response.body().string().replace("{\"url\":\"", "");
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
.setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/RandomPornCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/RandomPornCommand.java
new file mode 100644
index 0000000..2cad8d7
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/RandomPornCommand.java
@@ -0,0 +1,63 @@
+package com.bbn.hadder.commands.nsfw;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import java.io.IOException;
+
+public class RandomPornCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getTextChannel().isNSFW()) {
+
+ OkHttpClient caller = new OkHttpClient();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/all_tags/").build();
+
+ try {
+
+ Response response = caller.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
+
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
+ .setImage(url.replace("\"}", ""))
+ .setFooter("Random Porn")
+ .build()).queue();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"randomporn", "pornrandom"};
+ }
+
+ @Override
+ public String description() {
+ return "Shows a completely random porn gif.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/SoloCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/SoloCommand.java
new file mode 100644
index 0000000..acc1b24
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/SoloCommand.java
@@ -0,0 +1,63 @@
+package com.bbn.hadder.commands.nsfw;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import java.io.IOException;
+
+public class SoloCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getTextChannel().isNSFW()) {
+
+ OkHttpClient caller = new OkHttpClient();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/girls_solo/").build();
+
+ try {
+
+ Response response = caller.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
+
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
+ .setImage(url.replace("\"}", ""))
+ .setFooter("Solo")
+ .build()).queue();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"solo"};
+ }
+
+ @Override
+ public String description() {
+ return "Shows a random solo gif.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/commands/nsfw/SpankCommand.java b/src/main/java/com/bbn/hadder/commands/nsfw/SpankCommand.java
new file mode 100644
index 0000000..a9362eb
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/commands/nsfw/SpankCommand.java
@@ -0,0 +1,63 @@
+package com.bbn.hadder.commands.nsfw;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import com.bbn.hadder.commands.Command;
+import com.bbn.hadder.commands.CommandEvent;
+import com.bbn.hadder.utils.MessageEditor;
+import okhttp3.OkHttpClient;
+import okhttp3.Request;
+import okhttp3.Response;
+import org.json.JSONObject;
+
+import java.io.IOException;
+
+public class SpankCommand implements Command {
+
+ @Override
+ public void executed(String[] args, CommandEvent event) {
+ if (event.getTextChannel().isNSFW()) {
+
+ OkHttpClient caller = new OkHttpClient();
+ Request request = new Request.Builder().url("https://api.nekos.dev/api/v3/images/nsfw/gif/spank/").build();
+
+ try {
+
+ Response response = caller.newCall(request).execute();
+ JSONObject json = new JSONObject(response.body().string());
+ JSONObject data = json.getJSONObject("data");
+ JSONObject response1 = data.getJSONObject("response");
+ String url = response1.toString().replace("{\"url\":\"", "");
+
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.INFO)
+ .setAuthor("GIF not showing? Click here", url.replace("\"}", ""))
+ .setImage(url.replace("\"}", ""))
+ .setFooter("Spank")
+ .build()).queue();
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ } else {
+ event.getTextChannel().sendMessage(new MessageEditor().setDefaultSettings(MessageEditor.MessageType.WARNING).setTitle("No NSFW").setDescription("You can only execute this command in NSFW channels!").build()).queue();
+ }
+ }
+
+ @Override
+ public String[] labels() {
+ return new String[]{"spank", "beat", "hit"};
+ }
+
+ @Override
+ public String description() {
+ return "Shows a random spank gif.";
+ }
+
+ @Override
+ public String usage() {
+ return "";
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/listener/RulesListener.java b/src/main/java/com/bbn/hadder/listener/RulesListener.java
index 43ca93f..1867d79 100644
--- a/src/main/java/com/bbn/hadder/listener/RulesListener.java
+++ b/src/main/java/com/bbn/hadder/listener/RulesListener.java
@@ -30,14 +30,7 @@ public class RulesListener extends ListenerAdapter {
}
}
} else {
- 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();
- } 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");
- }
- }
}
}
}
diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
index 0121acd..de93685 100644
--- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java
+++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
@@ -43,7 +43,7 @@ public class MessageEditor {
case NO_SELF_PERMISSION:
builder
.setTitle("⛔ No Permission ⛔")
- .setDescription("Unfortunately, I do not have the required rights to perform this action")
+ .setDescription("Unfortunately, I do not have the required rights to perform this action!")
.setColor(Color.RED)
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
.setTimestamp(Instant.now());