diff --git a/pom.xml b/pom.xml
index dbf03e6..7346825 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,7 @@
net.dv8tion
JDA
- 4.1.0_81
+ 4.0.0_79
org.json
diff --git a/src/main/java/com/bbn/hadder/Hadder.java b/src/main/java/com/bbn/hadder/Hadder.java
index c9c2f77..f96792f 100644
--- a/src/main/java/com/bbn/hadder/Hadder.java
+++ b/src/main/java/com/bbn/hadder/Hadder.java
@@ -57,7 +57,6 @@ public class Hadder {
new RebootCommand(),
new EqualsCommand(),
new InviteCommand(),
- new ScreenShareCommand(),
new NickCommand(),
new PrefixCommand(),
new BlowjobCommand(),
@@ -89,10 +88,7 @@ public class Hadder {
new AboutCommand(),
new LanguageCommand(),
new ClydeCommand(),
- new PlayCommand(),
- new StarBoardCommand(),
- new QueueCommand(),
- new StopCommand()), config, helpCommand);
+ new StarBoardCommand()), config, helpCommand);
builder.addEventListeners(
new MentionListener(rethink),
diff --git a/src/main/java/com/bbn/hadder/audio/AudioInfo.java b/src/main/java/com/bbn/hadder/audio/AudioInfo.java
deleted file mode 100644
index 8aa35e9..0000000
--- a/src/main/java/com/bbn/hadder/audio/AudioInfo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.bbn.hadder.audio;
-
-import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
-import net.dv8tion.jda.api.entities.Member;
-
-/**
- * @author Skidder / GregTCLTK
- */
-
-public class AudioInfo {
-
- private final AudioTrack track;
- private final Member author;
-
- AudioInfo(AudioTrack track, Member author) {
- this.track = track;
- this.author = author;
- }
-
- public AudioTrack getTrack() {
- return track;
- }
-
- public Member getAuthor() {
- return author;
- }
-
-}
diff --git a/src/main/java/com/bbn/hadder/audio/AudioManager.java b/src/main/java/com/bbn/hadder/audio/AudioManager.java
deleted file mode 100644
index 9f54aab..0000000
--- a/src/main/java/com/bbn/hadder/audio/AudioManager.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package com.bbn.hadder.audio;
-
-import com.bbn.hadder.commands.CommandEvent;
-import com.bbn.hadder.utils.MessageEditor;
-import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler;
-import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
-import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager;
-import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager;
-import com.sedmelluq.discord.lavaplayer.source.AudioSourceManagers;
-import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
-import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
-import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
-import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.Message;
-
-import java.util.AbstractMap;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-/**
- * @author Skidder / GregTCLTK
- */
-
-public class AudioManager {
-
-
- public AudioManager() {
- AudioSourceManagers.registerRemoteSources(myManager);
- }
-
- public final Map> players = new HashMap<>();
- public final AudioPlayerManager myManager = new DefaultAudioPlayerManager();
-
- public void loadTrack(String identifier, CommandEvent event, Message msg) {
-
- Guild guild = event.getGuild();
- getPlayer(guild);
-
- myManager.loadItemOrdered(guild, identifier, new AudioLoadResultHandler() {
-
- @Override
- public void trackLoaded(AudioTrack track) {
- getTrackManager(guild).queue(track, event.getMember());
- msg.editMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
- "commands.music.play.success.loading.title", "⏯",
- "", "")
- .addField(event.getMessageEditor().getTerm("commands.music.play.success.title"), track.getInfo().title, false)
- .addField(event.getMessageEditor().getTerm("commands.music.play.success.author"), track.getInfo().author, true)
- .addField(event.getMessageEditor().getTerm("commands.music.play.success.length"),
- String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(track.getInfo().length),
- TimeUnit.MILLISECONDS.toMinutes(track.getInfo().length) % TimeUnit.HOURS.toMinutes(1),
- TimeUnit.MILLISECONDS.toSeconds(track.getInfo().length) % TimeUnit.MINUTES.toSeconds(1)), true)
- .build()).queue();
- }
-
- @Override
- public void playlistLoaded(AudioPlaylist playlist) {
- if (playlist.getSelectedTrack() != null) {
- trackLoaded(playlist.getSelectedTrack());
- } else if (playlist.isSearchResult()) {
- trackLoaded(playlist.getTracks().get(0));
- } else {
- for (int i = 0; i < Math.min(playlist.getTracks().size(), 200); i++) {
- getTrackManager(guild).queue(playlist.getTracks().get(i), event.getMember());
- }
- }
- }
-
- @Override
- public void noMatches() {
- msg.editMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
- "commands.music.play.error.match.title", "❌",
- "commands.music.play.error.match.description", "")
- .build()).queue();
- }
-
- @Override
- public void loadFailed(FriendlyException e) {
- msg.editMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
- "commands.music.play.error.load.title", "❌",
- "commands.music.play.error.load.description", "")
- .build()).queue();
- }
- });
- }
-
- public boolean hasPlayer(Guild guild) {
- return players.containsKey(guild.getId());
- }
-
- public AudioPlayer getPlayer(Guild guild) {
- AudioPlayer p;
- if (hasPlayer(guild)) {
- p = players.get(guild.getId()).getKey();
- } else {
- p = createPlayer(guild);
- }
- return p;
- }
-
- public TrackManager getTrackManager(Guild guild) {
- return players.get(guild.getId()).getValue();
- }
-
- public AudioPlayer createPlayer(Guild guild) {
- AudioPlayer nPlayer = myManager.createPlayer();
- TrackManager manager = new TrackManager(nPlayer);
- nPlayer.addListener(manager);
- guild.getAudioManager().setSendingHandler(new AudioPlayerSendHandler(nPlayer));
- players.put(guild.getId(), new AbstractMap.SimpleEntry<>(nPlayer, manager));
- return nPlayer;
- }
-
-}
diff --git a/src/main/java/com/bbn/hadder/audio/AudioPlayerSendHandler.java b/src/main/java/com/bbn/hadder/audio/AudioPlayerSendHandler.java
deleted file mode 100644
index 1863de2..0000000
--- a/src/main/java/com/bbn/hadder/audio/AudioPlayerSendHandler.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.bbn.hadder.audio;
-
-import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
-import com.sedmelluq.discord.lavaplayer.track.playback.AudioFrame;
-import net.dv8tion.jda.api.audio.AudioSendHandler;
-
-import javax.annotation.Nullable;
-import java.nio.ByteBuffer;
-
-/**
- * @author Skidder / GregTCLTK
- */
-
-public class AudioPlayerSendHandler implements AudioSendHandler {
-
- private final AudioPlayer audioPlayer;
- private AudioFrame lastFrame;
-
- public AudioPlayerSendHandler(AudioPlayer audioPlayer) {
- this.audioPlayer = audioPlayer;
- }
-
- @Override
- public boolean canProvide() {
- if (lastFrame == null) {
- lastFrame = audioPlayer.provide();
- }
-
- return lastFrame != null;
- }
-
- @Nullable
- @Override
- public ByteBuffer provide20MsAudio() {
- if (lastFrame == null) {
- lastFrame = audioPlayer.provide();
- }
-
- byte[] data = lastFrame != null ? lastFrame.getData() : null;
- lastFrame = null;
-
- return ByteBuffer.wrap(data);
- }
-
- @Override
- public boolean isOpus() {
- return true;
- }
-}
diff --git a/src/main/java/com/bbn/hadder/audio/TrackManager.java b/src/main/java/com/bbn/hadder/audio/TrackManager.java
deleted file mode 100644
index b4c1e9a..0000000
--- a/src/main/java/com/bbn/hadder/audio/TrackManager.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package com.bbn.hadder.audio;
-
-import com.sedmelluq.discord.lavaplayer.player.AudioPlayer;
-import com.sedmelluq.discord.lavaplayer.player.event.AudioEventAdapter;
-import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
-import com.sedmelluq.discord.lavaplayer.track.AudioTrackEndReason;
-import net.dv8tion.jda.api.entities.Guild;
-import net.dv8tion.jda.api.entities.Member;
-import net.dv8tion.jda.api.entities.VoiceChannel;
-
-import java.util.*;
-import java.util.concurrent.LinkedBlockingQueue;
-
-/**
- * @author Skidder / GregTCLTK
- */
-
-public class TrackManager extends AudioEventAdapter {
-
- private final AudioPlayer player;
- private final Queue queue;
-
- public TrackManager(AudioPlayer player) {
- this.player = player;
- this.queue = new LinkedBlockingQueue<>();
- }
-
- public void queue(AudioTrack track, Member author) {
- AudioInfo info = new AudioInfo(track, author);
- queue.add(info);
-
- if (player.getPlayingTrack() == null) {
- player.playTrack(track);
- }
- }
-
- @Override
- public void onTrackStart(AudioPlayer player, AudioTrack track) {
- AudioInfo info = queue.element();
- VoiceChannel vChan = info.getAuthor().getVoiceState().getChannel();
- if (vChan == null) {
- player.stopTrack();
- } else {
- info.getAuthor().getGuild().getAudioManager().openAudioConnection(vChan);
- }
- }
-
- @Override
- public void onTrackEnd(AudioPlayer player, AudioTrack track, AudioTrackEndReason endReason) {
- Guild g = queue.poll().getAuthor().getGuild();
- if (queue.isEmpty()) {
- g.getAudioManager().closeAudioConnection();
- } else {
- player.playTrack(queue.element().getTrack());
- }
- }
-
- public Set getQueuedTracks() {
- return new LinkedHashSet<>(queue);
- }
-
- public void purgeQueue() {
- queue.clear();
- }
-
- public void remove(AudioInfo entry) {
- queue.remove(entry);
- }
-
- public AudioInfo getTrackInfo(AudioTrack track) {
- return queue.stream().filter(audioInfo -> audioInfo.getTrack().equals(track)).findFirst().orElse(null);
- }
-}
diff --git a/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java b/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java
index 3371eec..50d6987 100644
--- a/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java
+++ b/src/main/java/com/bbn/hadder/commands/moderation/StarBoardCommand.java
@@ -14,7 +14,7 @@ public class StarBoardCommand implements Command {
event.getChannel().sendMessage(
event.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO,
- "commands.moderation.starboard.success.title","")
+ "commands.moderation.starboard.successchannel","")
.build())
.queue();
} else {
diff --git a/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java b/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java
deleted file mode 100644
index bae30df..0000000
--- a/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package com.bbn.hadder.commands.music;
-
-import com.bbn.hadder.audio.AudioManager;
-import com.bbn.hadder.commands.Command;
-import com.bbn.hadder.commands.CommandEvent;
-import com.bbn.hadder.utils.MessageEditor;
-import net.dv8tion.jda.api.entities.Message;
-
-import java.net.URL;
-
-/**
- * @author Skidder / GregTCLTK
- */
-
-public class PlayCommand implements Command {
-
- /*
- private static final String CD = "\uD83D\uDCBF";
- private static final String MIC = "\uD83C\uDFA4 **|>** "; */
-
- @Override
- public void executed(String[] args, CommandEvent event) {
- if (args.length > 0) {
- if (event.getMember().getVoiceState().inVoiceChannel()) {
- String input = event.getMessage().getContentRaw().replaceFirst(event.getRethink().getGuildPrefix(event.getGuild().getId()) + "play ", "").replaceFirst(event.getRethink().getUserPrefix(event.getAuthor().getId()) + "play ", "");
- try {
- new URL(input).toURI();
- Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
- "commands.music.play.load.title", "⭕",
- "commands.music.play.load.description", "").build()).complete();
- new AudioManager().loadTrack(input, event, msg);
- } catch (Exception ignore) {
- Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
- "commands.music.play.load.title", "⭕",
- "commands.music.play.load.description", "").build()).complete();
- new AudioManager().loadTrack("ytsearch: " + input, event, msg);
- }
- } else {
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(
- MessageEditor.MessageType.WARNING,
- "commands.music.join.error.channel.title",
- "commands.music.join.error.channel.description")
- .build()).queue();
- }
- } else event.getHelpCommand().sendHelp(this, event);
-
-
- /* OUTSOURCE THIS
- Guild guild = event.getGuild();
- if (!hasPlayer(guild) || getPlayer(guild).getPlayingTrack() == null) { // No song is playing
- event.getTextChannel().sendMessage("No song is being played at the moment! *It's your time to shine..*").queue();
- } else {
- AudioTrack track = getPlayer(guild).getPlayingTrack();
- event.getTextChannel().sendMessage("Track Info" + String.format(QUEUE_DESCRIPTION, CD, getOrNull(track.getInfo().title),
- "\n\u23F1 **|>** `[ " + getTimestamp(track.getPosition()) + " / " + getTimestamp(track.getInfo().length) + " ]`",
- "\n" + MIC, getOrNull(track.getInfo().author),
- "\n\uD83C\uDFA7 **|>** " + "")).queue();
- }*/
-
- }
-
- @Override
- public String[] labels() {
- return new String[]{"play"};
- }
-
- @Override
- public String description() {
- return "commands.music.play.help.description";
- }
-
- @Override
- public String usage() {
- return "song";
- }
-}
diff --git a/src/main/java/com/bbn/hadder/commands/music/QueueCommand.java b/src/main/java/com/bbn/hadder/commands/music/QueueCommand.java
deleted file mode 100644
index 8756e38..0000000
--- a/src/main/java/com/bbn/hadder/commands/music/QueueCommand.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.bbn.hadder.commands.music;
-
-import com.bbn.hadder.audio.AudioInfo;
-import com.bbn.hadder.audio.AudioManager;
-import com.bbn.hadder.commands.Command;
-import com.bbn.hadder.commands.CommandEvent;
-import com.bbn.hadder.utils.MessageEditor;
-
-import java.util.Set;
-
-/**
- * @author Skidder / GregTCLTK
- */
-
-public class QueueCommand implements Command {
-
- @Override
- public void executed(String[] args, CommandEvent event) {
- if (!new AudioManager().hasPlayer(event.getGuild()) || new AudioManager().getTrackManager(event.getGuild()).getQueuedTracks().isEmpty()) {
- event.getTextChannel().sendMessage(
- event.getMessageEditor().getMessage(MessageEditor.MessageType.WARNING, "", "").build()).queue();
- } else {
- Set queue = new AudioManager().getTrackManager(event.getGuild()).getQueuedTracks();
- // Insert message here
- }
- }
-
- @Override
- public String[] labels() {
- return new String[]{"queue"};
- }
-
- @Override
- public String description() {
- return "Shows the music queue.";
- }
-
- @Override
- public String usage() {
- return "";
- }
-}
diff --git a/src/main/java/com/bbn/hadder/commands/music/StopCommand.java b/src/main/java/com/bbn/hadder/commands/music/StopCommand.java
deleted file mode 100644
index ab03799..0000000
--- a/src/main/java/com/bbn/hadder/commands/music/StopCommand.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.bbn.hadder.commands.music;
-
-import com.bbn.hadder.audio.AudioManager;
-import com.bbn.hadder.commands.Command;
-import com.bbn.hadder.commands.CommandEvent;
-import com.bbn.hadder.utils.MessageEditor;
-
-/**
- * @author Skidder / GregTCLTK
- */
-
-public class StopCommand implements Command {
-
- @Override
- public void executed(String[] args, CommandEvent event) {
- new AudioManager().players.remove(event.getGuild().getId());
- new AudioManager().getPlayer(event.getGuild()).destroy();
- new AudioManager().getTrackManager(event.getGuild()).purgeQueue();
- event.getGuild().getAudioManager().closeAudioConnection();
- event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
- "commands.music.stop.success.title",
- "commands.music.stop.success.description").build()).queue();
- }
-
- @Override
- public String[] labels() {
- return new String[]{"stop"};
- }
-
- @Override
- public String description() {
- return "commands.music.stop.help.description";
- }
-
- @Override
- public String usage() {
- return "";
- }
-}
diff --git a/src/main/java/com/bbn/hadder/utils/AudioPlayerSendHandler.java b/src/main/java/com/bbn/hadder/utils/AudioPlayerSendHandler.java
new file mode 100644
index 0000000..ff3f483
--- /dev/null
+++ b/src/main/java/com/bbn/hadder/utils/AudioPlayerSendHandler.java
@@ -0,0 +1,25 @@
+package com.bbn.hadder.utils;
+
+/*
+ * @author Skidder / GregTCLTK
+ */
+
+import net.dv8tion.jda.api.audio.AudioSendHandler;
+
+import javax.annotation.Nullable;
+import java.nio.ByteBuffer;
+
+public class AudioPlayerSendHandler implements AudioSendHandler {
+
+ @Override
+ public boolean canProvide() {
+ return false;
+ }
+
+ @Nullable
+ @Override
+ public ByteBuffer provide20MsAudio() {
+
+ return null;
+ }
+}
diff --git a/src/main/java/com/bbn/hadder/utils/MessageEditor.java b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
index c7205f1..2f22d85 100644
--- a/src/main/java/com/bbn/hadder/utils/MessageEditor.java
+++ b/src/main/java/com/bbn/hadder/utils/MessageEditor.java
@@ -56,7 +56,7 @@ public class MessageEditor {
switch (type) {
case INFO:
builder
- .setColor(new Color(78, 156, 174))
+ .setColor(new Color(47, 94, 105))
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
.setTimestamp(Instant.now());
break;
diff --git a/src/main/resources/Translations/Translations_de.properties b/src/main/resources/Translations/Translations_de.properties
index 06576ae..f526cae 100644
--- a/src/main/resources/Translations/Translations_de.properties
+++ b/src/main/resources/Translations/Translations_de.properties
@@ -2,136 +2,136 @@
# @author Skidder / GregTCLTK
#
-Hadder = Hadderino
+Hadder = Hadder
-user = <@User>
+user = <@Benutzer>
searchterm =
username =
-number = /all
-prefix =
-userprefix =
-vc-name/id =
-user+nickname = <@user>
-region =
+number = /all
+prefix =
+userprefix =
+vc-name/id =
+user+nickname = <@Benutzer>
+region =
guildid =
-content =
+content =
-error = Error
-none = None
-success\! = Success\!
+error = Fehler
+none = Nicht angegeben
+success\! = Erfolgreich\!
-commands.fun.avatar.success.title = Avatar of %extra%
-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.fun.clyde.help.description = Send a message as a webhook named Clyde.
+commands.fun.avatar.success.title = Avatar von %extra%
+commands.fun.avatar.help.description = Sendet den Avatar des angegebenen Benutzers.
+commands.fun.gif.error.description = Bitte versuche es mit einem anderen Begriff erneut.
+commands.fun.gif.help.description = Suche nach einem GIF auf Giphy
+commands.fun.meme.success.title = Dein zufälliges Meme
+commands.fun.meme.api.error = Die Anfrage an die Meme-API konnte nicht verarbeitet werden. Bitte versuche es später erneut.
+commands.fun.meme.help.description = Sendet dir einen zufälligen Meme.
+commands.fun.clyde.help.description = Sendet eine Nachricht als Webhook namens Clyde.
-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]%extra%
-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.about.success.title = Hadder - Info
+commands.general.about.success.description = Hadder ist ein Open-Source Discord Bot.
+commands.general.about.success.field.one.title = Unterstütze die Entwickler
+commands.general.about.success.field.one.description = Hadder ist für alle völlig kostenlos. Wir würden uns freuen, wenn du [hier]%extra% etwas Geld spenden würdest.
+commands.general.about.help.description = Zeigt Informationen über Hadder
+commands.general.equals.string.first.request = Bitte sende mir den ersten String
+commands.general.equals.string.second.request = Bitte sende mir den zweiten String
+commands.general.equals.string.equals.true = Ja\! Der erste String entspricht dem zweiten String\!
+commands.general.equals.string.equals.false = Ja, aber eigentlich nein. Das ist nicht dasselbe.
+commands.general.equals.string.first = Erster String
+commands.general.equals.string.second = Zweiter String
+commands.general.equals.string.result = Ergebnis
+commands.general.equals.help.description = Prüft ob zwei Strings gleich sind
commands.general.help.field.usage = Benutzung
-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.error.description = Ich brauche die Links Einbetten Berechtigung, um das Hilfe-Menü zu senden\!
+commands.general.help.help.description = Zeigt jeden Befehl an und erklärt seine Verwendung
commands.general.help.help.label = [CommandName]
-commands.general.invite.success.title = Invite me\!
-commands.general.invite.success.description = [Invite me here\!]%extra%
-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.general.invite.success.title = Lade mich ein\!
+commands.general.invite.success.description = [Lade mich hier ein\!]%extra%
+commands.general.invite.help.description = Zeigt die Einladung, um Hadder auf deinen Server einzuladen
+commands.general.ping.help.description = Zeigt den Ping zur 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.feedback.success.title = Feedback successfully sent
-commands.misc.github.link.title = Link your GitHub Account
-commands.misc.github.success.title = Information about %extra%
-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]%extra%
-commands.misc.github.help.description = Displays information about a GitHub user profile.
+commands.misc.feedback.title.request.title = Feedback-Thema
+commands.misc.feedback.title.request.description = Bitte senden Sie mir das Thema des Feedbacks.
+commands.misc.feedback.description.request.title = Feedback Beschreibung
+commands.misc.feedback.description.request.description = Bitte senden Sie mir jetzt die Feedback Beschreibung.
+commands.misc.feedback.help.description = Sendet Feedback direkt an die Entwickler.
+commands.misc.feedback.success.title = Feedback erfolgreich gesendet
+commands.misc.github.link.title = Verbinde dein GitHub Konto
+commands.misc.github.success.title = Informationen über %extra%
+commands.misc.github.success.bio = Biographie
+commands.misc.github.success.location = Standort
+commands.misc.github.success.website = Webseite
+commands.misc.github.success.repositories = Öffentliche Repositories
+commands.misc.github.success.gists = Öffentliche Gists
+commands.misc.github.success.followers = Abonnenten
+commands.misc.github.success.following = Folgt
+commands.misc.github.api.error.description = Die GitHub API könnte im Moment nicht verfügbar sein\!
+commands.misc.github.user.error.description = Dieser Benutzer existiert nicht\!
+commands.misc.github.connect.title = Verbinde dein GH Konto
+commands.misc.github.connect.description = [Bitte verbinden Sie Ihr GitHub-Konto hier]%extra%
+commands.misc.github.help.description = Zeigt Informationen über ein GitHub Benutzerprofil an.
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.title = Warte, das ist 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.title = Bitte wähle einen Sprachkanal
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.error = Warte ma'
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 = %extra% Successfully banned %extra%
commands.moderation.ban.success.description = I successfully baned %extra%
-commands.moderation.ban.error.title = Not possible
-commands.moderation.ban.myself.error.description = I can not ban myself\!
-commands.moderation.ban.yourself.error.description = You can not ban yourself\!
-commands.moderation.ban.massban.success.description = I successfully baned %extra% Members\!
+commands.moderation.ban.error.title = Nicht möglich
+commands.moderation.ban.myself.error.description = Ich kann mich nicht selbst bannen\!
+commands.moderation.ban.yourself.error.description = Du kannst dich nicht selbst bannen\!
+commands.moderation.ban.massban.success.description = Ich habe erfolgreich %extra% Mitglieder gebannt\!
commands.moderation.ban.help.description = Bans one ore more user from the server
-commands.moderation.lear.all.success.title = Successfully deleted
-commands.moderation.lear.all.success.description = I successfully deleted %extra% messages.
-commands.moderation.clear.number.error.description = You have to choose a number between 1 and 99\!
-commands.moderation.clear.success.description = Successfully deleted %extra% messages.
-commands.moderation.clear.message.error.title = No messages\!
-commands.moderation.clear.message.error.description = There are no messages in this channel.
-commands.moderation.clear.help.description = Deletes the specified number of messages.
+commands.moderation.lear.all.success.title = Erfolgreich gelöscht
+commands.moderation.lear.all.success.description = Ich habe erfolgreich %extra% Nachrichten gelöscht.
+commands.moderation.clear.number.error.description = Sie müssen eine Zahl zwischen 1 und 99 wählen\!
+commands.moderation.clear.success.description = Ich habe erfolgreich %extra% Nachrichten gelöscht.
+commands.moderation.clear.message.error.title = Keine Nachrichten\!
+commands.moderation.clear.message.error.description = Es gibt keine Nachrichten in diesem Kanal.
+commands.moderation.clear.help.description = Löscht die angegebene Anzahl von Nachrichten.
commands.moderation.prefix.success.title = %extra% Successfully set %extra%
commands.moderation.prefix.success.description = I successfully set the new prefix for the guild to `%extra%`.
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.title = Erfolgreich aktiviert
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.title = Bereits aktiviert
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.title = Erfolgreich deaktiviert
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 = %extra% Successfully kicked %extra%
-commands.moderation.kick.success.description = I successfully kicked %extra%.
-commands.moderation.kick.error.title = Not possible
-commands.moderation.kick.myself.error.description = I can not kick myself\!
-commands.moderation.kick.yourself.error.description = You can't kick yourself.
-commands.moderation.kick.mass.success.description = I successfully kicked 69 Members\!
-commands.moderation.kick.help.description = Kicks one or more user from the server.
-commands.moderation.kick.masskick.success.description = I successfully kicked %extra% members.
+commands.moderation.invitedetect.deactivate.error.title = Bereits deaktiviert
+commands.moderation.invitedetect.deactivate.error.description = Die Einladungslink-Erkennung ist auf dieser Guild bereits deaktiviert.
+commands.moderation.invitedetect.help.description = Aktiviert oder deaktiviert die Discord Einladungserkennung.
+commands.moderation.kick.success.title = %extra% Erfolgreich gekickt %extra%
+commands.moderation.kick.success.description = Ich habe %extra% erfolgreich gekickt.
+commands.moderation.kick.error.title = Nicht möglich
+commands.moderation.kick.myself.error.description = Ich kann mich nicht selbst kicken\!
+commands.moderation.kick.yourself.error.description = Du kannst dich nicht selbst kicken.
+commands.moderation.kick.mass.success.description = Ich habe erfolgreich %extra% Mitglieder gekickt\!
+commands.moderation.kick.help.description = Wirft einen oder mehrere Benutzer vom Server.
+commands.moderation.kick.masskick.success.description = Ich habe %extra% Mitglieder erfolgreich gekickt.
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.error.title = Warte, das ist illegal.
commands.moderation.link.request.error.description = You specified the same guild as the guild on which you're reading this
commands.moderation.link.request.accept.title = ) wants to link guilds\!
-commands.moderation.link.request.accept.description = React with the reactions to accept or decline it
+commands.moderation.link.request.accept.description = Reagiere mit den Reaktionen um es zu akzeptieren oder abzulehnen
commands.moderation.link.set.title = Set the thing boi
commands.moderation.link.help.description = Links two or more servers.
commands.moderation.nick.success.title = %extra% Successfully nicked %extra%
commands.moderation.nick.success.description = I successfully nicked %extra%.
-commands.moderation.nick.myself.success.description = I successfully changed my nickname.
+commands.moderation.nick.myself.success.description = Ich habe meinen Spitznamen erfolgreich geändert.
commands.moderation.nick.massnick.success.description = I successfully nicked %extra% Members.
-commands.moderation.nick.help.description = Rename a one or more user.
-commands.moderation.regionchange.regions.title = All regions
-commands.moderation.regionchange.success.title = Successfully set region
-commands.moderation.regionchange.success.description = I successfully set the new server region to %extra%.
+commands.moderation.nick.help.description = Benennt einen oder mehrere Benutzer um.
+commands.moderation.regionchange.regions.title = Alle Regionen
+commands.moderation.regionchange.success.title = Region erfolgreich gesetzt
+commands.moderation.regionchange.success.description = Ich habe die neue Serverregion erfolgreich zu %extra% geändert.
commands.moderation.regionchange.help.description = Changes the server region to locked regions.
commands.moderation.role.add.success.title = %extra% Successfully added role(s) %extra%
commands.moderation.role.add.success.description = I successfully added %extra% roles to %extra_two% members.
@@ -140,15 +140,15 @@ commands.moderation.role.remove.success.description = I successfully removed %ex
commands.moderation.role.help.description = Adds and removes one or more role(s) from one or more user(s)
commands.moderation.rules.setup.title = Set up rules
commands.moderation.rules.setup.description = Welcome to the Hadder rules setup. Please mention the channel in which I should send the rules. Your message should look like\: \#rules or \#verify.
-commands.moderation.rules.channel.error.title = Channel not found
-commands.moderation.rules.channel.error.description = I can't find the specified channel. Please start the setup again.
-commands.moderation.rules.rules.title = Rules
-commands.moderation.rules.rules.description = The channel was successfully set to %extra%. Please send me the rules now.
+commands.moderation.rules.channel.error.title = Kanal konnte nicht gefunden werden
+commands.moderation.rules.channel.error.description = Ich kann den angegebenen Kanal nicht finden. Bitte starte das Setup erneut.
+commands.moderation.rules.rules.title = Regeln
+commands.moderation.rules.rules.description = Der Kanal wurde erfolgreich auf %extra% gesetzt. Bitte senden Sie mir jetzt die Regeln.
commands.moderation.rules.role.title = Role to assign
commands.moderation.rules.role.description = The rules were successfully set. Please send me the name of the role which the user receives after he accepted the rules.
-commands.moderation.rules.role.error.title = Role does not exist
+commands.moderation.rules.role.error.title = Rolle existiert nicht
commands.moderation.rules.role.error.description = The specified role does not exist on this guild.
-commands.moderation.rules.guild.error.title = Wrong Guild
+commands.moderation.rules.guild.error.title = Falsche Guild
commands.moderation.rules.guild.error.description = The mentioned channel must be on this guild\!
commands.moderation.rules.emote.accept.title = Custom Accept Emote
commands.moderation.rules.emote.accept.description = The role has been successfully set to %extra%. Now send me the emote on which your user should react to to get verified.
@@ -175,48 +175,48 @@ commands.music.join.error.channel.description = You aren't in a Voice Channel.
commands.music.join.help.description = Joins your voice channel
commands.music.leave.success.title = \= Successfully disconnected
commands.music.leave.success.description = I successfully disconnected from the Voice Channel
-commands.music.leave.error.tile = Not connected
-commands.music.leave.error.description = I'm currently in no Voice Channel on this Guild
-commands.music.leave.help.description = Leaves a voice channel
+commands.music.leave.error.tile = Nicht verbunden
+commands.music.leave.error.description = Ich bin derzeit in keinem Sprachkanal auf dieser Guild
+commands.music.leave.help.description = Verlässt einen Sprachkanal
-commands.nsfw.gif.error.title = GIF not showing? Click here
-commands.nsfw.img.error.title = Image not showing? Click here
-commands.nsfw.anal.help.description = Shows a random anal gif.
-commands.nsfw.bdsm.help.description = Shows a random BDSM picture.
-commands.nsfw.blowjob.help.description = Shows a random Blowjob picture.
-commands.nsfw.boobs.help.description = Shows a random boob gif.
-commands.nsfw.cum.help.description = Shows a random cum gif.
-commands.nsfw.erotic.help.description = Shows a random erotic picture.
-commands.nsfw.feet.help.description = Shows a random feet gif.
+commands.nsfw.gif.error.title = GIF wird nicht angezeigt? Klicke hier
+commands.nsfw.img.error.title = Bild wird nicht angezeigt? Klicke hier
+commands.nsfw.anal.help.description = Zeigt einen zufälligen Anal GIF.
+commands.nsfw.bdsm.help.description = Zeigt ein zufälliges BDSM Bild.
+commands.nsfw.blowjob.help.description = Zeigt ein zufälliges Blowjob Bild.
+commands.nsfw.boobs.help.description = Zeigt einen zufälligen Boob GIF.
+commands.nsfw.cum.help.description = Zeigt einen zufälligen Cum GIF.
+commands.nsfw.erotic.help.description = Zeigt ein zufälliges Erotik Bild.
+commands.nsfw.feet.help.description = Zeigt einen zufälligen Feet GIF.
commands.nsfw.fingering.help.description = Shows a random fingering gif.
commands.nsfw.linking.help.description = Shows a random licking gif.
-commands.nsfw.porn.help.description = Shows a random porn gif.
-commands.nsfw.pussy.help.description = Shows a random pussy gif.
-commands.nsfw.randomporn.help.description = Shows a completely random porn gif.
-commands.nsfw.solo.help.description = Shows a random solo gif.
+commands.nsfw.porn.help.description = Zeigt einen zufälligen Porn GIF.
+commands.nsfw.pussy.help.description = Zeigt einen zufälligen Pussy GIF.
+commands.nsfw.randomporn.help.description = Zeigt ein völlig zufälliges Porno GIF.
+commands.nsfw.solo.help.description = Zeigt einen zufälligen Solo GIF.
commands.nsfw.spank.help.description = Shows a random spank gif.
-commands.nsfw.trans.help.description = Shows a random trans picture.
+commands.nsfw.trans.help.description = Zeigt ein zufälliges Trans Bild.
commands.owner.eval.success.title = Eval Command
-commands.owner.eval.success.input = Input
-commands.owner.eval.success.output = Output
+commands.owner.eval.success.input = Eingabe
+commands.owner.eval.success.output = Ausgabe
commands.owner.eval.success.timing = Timing
-commands.owner.eval.help.description = Execute the given code
+commands.owner.eval.help.description = Führt den angegebenen Code aus
commands.owner.eval.help.usage =
-commands.owner.guildleave.success.title = Successfully left
-commands.owner.guildleave.success.description = I successfully left %extra%.
-commands.owner.guildleave.error.title = Can not leave
+commands.owner.guildleave.success.title = Erfolgreich verlassen
+commands.owner.guildleave.success.description = Ich habe %extra% erfolgreich verlassen.
+commands.owner.guildleave.error.title = Verlassen nicht möglich
commands.owner.guildleave.error.description = I can not leave from this guild. Maybe this isn't a ID?
commands.owner.guildleave.help.description = Quit from a guild
commands.owner.reboot.help.description = Restart the bot
-commands.owner.shutdown.success.title = Shutdown
+commands.owner.shutdown.success.title = Fährt herrunter
commands.owner.shutdown.help.description = Shuts the Bot down
commands.owner.test.success = TEST my friends
commands.owner.test.help.description = Just a little Test Command
commands.settings.language.success.title = Language set
commands.settings.language.success.description = `%extra%` is your new language now.
-commands.settings.language.help.description = Sets the new primary language for a user.
+commands.settings.language.help.description = Führt den angegebenen Code aus.
commands.settings.language.help.usage =
commands.settings.prefix.success.title = %extra% Successfully set %extra%
commands.settings.prefix.success.description = I successfully set the new prefix for you to `%extra%`.
diff --git a/src/main/resources/Translations/Translations_en.properties b/src/main/resources/Translations/Translations_en.properties
index 67a2706..1ffdea2 100644
--- a/src/main/resources/Translations/Translations_en.properties
+++ b/src/main/resources/Translations/Translations_en.properties
@@ -15,7 +15,6 @@ user+nickname = <@user>
region =
guildid =
content =
-song =
error = Error
none = None
@@ -24,19 +23,19 @@ success\! = Success\!
commands.fun.avatar.success.title = Avatar of %extra%
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.gif.help.description = Looks 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 again later.
commands.fun.meme.help.description = Sends you a random meme.
-commands.fun.clyde.help.description = Send a message as a webhook named Clyde.
+commands.fun.clyde.help.description = Sends a message as a webhook named Clyde.
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]%extra%
-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.about.success.field.one.description = Hadder is completely free for everyone. We would appreciate it if you donated some money to us. Click [here]%extra% to donate.
+commands.general.about.help.description = Shows information 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
@@ -45,11 +44,11 @@ commands.general.equals.string.result = Result
commands.general.equals.help.description = Check if two strings are the same
commands.general.help.field.usage = Usage
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.description = Shows each command and explains its usage
commands.general.help.help.label = [CommandName]
commands.general.invite.success.title = Invite me\!
commands.general.invite.success.description = [Invite me here\!]%extra%
-commands.general.invite.help.description = Shows the invitation to invite Hadder to your server
+commands.general.invite.help.description = Shows the invitation link 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
@@ -57,7 +56,7 @@ commands.misc.feedback.title.request.description = Please send me the feedback t
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.feedback.success.title = Feedback successfully sent
+commands.misc.feedback.success.title = Feedback successfully sent\!
commands.misc.github.link.title = Link your GitHub Account
commands.misc.github.success.title = Information about %extra%
commands.misc.github.success.bio = User bio
@@ -69,18 +68,18 @@ 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.title = Connect your GH account
commands.misc.github.connect.description = [Please connect your GitHub account here]%extra%
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.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 in 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.channel.existing.description = There is no Voice Channel named like this. \n\nNote\: Make sure the Voice Channel is in this Guild.
commands.misc.screenshare.help.description = Shows you the link to share your screen.
commands.moderation.ban.success.title = %extra% Successfully banned %extra%
@@ -115,9 +114,16 @@ commands.moderation.kick.success.description = I successfully kicked %extra%.
commands.moderation.kick.error.title = Not possible
commands.moderation.kick.myself.error.description = I can not kick myself\!
commands.moderation.kick.yourself.error.description = You can't kick yourself.
-commands.moderation.kick.mass.success.description = I successfully kicked %extra% Members\!
+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.kick.masskick.success.description = I successfully kicked %extra% members.
+commands.moderation.link.request.success.description = If i'm on this guild i sent a message to accept the link.
+commands.moderation.link.error.title = Wait that's illegal.
+commands.moderation.link.request.error.description = You specified the same guild as the guild on which you're reading this
+commands.moderation.link.request.accept.title = ) wants to link guilds\!
+commands.moderation.link.request.accept.description = React with the reactions to accept or decline it
+commands.moderation.link.set.title = Set the thing boi
+commands.moderation.link.help.description = Links two or more servers.
commands.moderation.nick.success.title = %extra% Successfully nicked %extra%
commands.moderation.nick.success.description = I successfully nicked %extra%.
commands.moderation.nick.myself.success.description = I successfully changed my nickname.
@@ -156,7 +162,7 @@ commands.moderation.rules.emote.error.equal.description = The 1st and 2nd emote
commands.moderation.rules.emoji.decline.description = The first emote has been successfully set. Please send me now the decline emote.
commands.moderation.rules.emoji.error.description = The given emote can't be used.
commands.moderation.rules.help.description = Setup the rules on your Discord server
-commands.moderation.starboard.success.title = Successfully set the Channel\!
+commands.moderation.starboard.successchannel=Successfully set the Channel\!
commands.music.join.success.title = Successfully connected
commands.music.join.success.description = I successfully connected to %extra%.
@@ -167,25 +173,11 @@ commands.music.join.error.connecting.trying.description = Hadder is already tryi
commands.music.join.error.channel.title = No Voice Channel
commands.music.join.error.channel.description = You aren't in a Voice Channel.
commands.music.join.help.description = Joins your voice channel
-commands.music.leave.success.title = Successfully disconnected
+commands.music.leave.success.title = \= Successfully disconnected
commands.music.leave.success.description = I successfully disconnected from the Voice Channel
commands.music.leave.error.tile = Not connected
commands.music.leave.error.description = I'm currently in no Voice Channel on this Guild
commands.music.leave.help.description = Leaves a voice channel
-commands.music.play.load.title = %extra% Now loading %extra%
-commands.music.play.load.description = Trying to load the song...
-commands.music.play.success.loading.title = %extra% Now playing %extra%
-commands.music.play.error.load.title = %extra% Load failed %extra%
-commands.music.play.error.load.description = Unfortunately I can not load the given song.
-commands.music.play.error.match.title = %extra% No matches %extra%
-commands.music.play.error.match.description = I can not find a song named this on YouTube.
-commands.music.play.success.title = Title
-commands.music.play.success.author = Author
-commands.music.play.success.length = Length
-commands.music.play.help.description = Plays a song
-commands.music.stop.success.title = Successfully stopped
-commands.music.stop.success.description = I successfully stopped the song.
-commands.music.stop.help.description = Stops the song
commands.nsfw.gif.error.title = GIF not showing? Click here
commands.nsfw.img.error.title = Image not showing? Click here