Greg dev #363

Merged
greg6775 merged 18 commits from greg-dev into hax-dev 2020-02-02 16:12:41 +01:00
31 changed files with 102 additions and 97 deletions

View file

@ -56,7 +56,7 @@
<dependency> <dependency>
<groupId>net.dv8tion</groupId> <groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId> <artifactId>JDA</artifactId>
<version>4.1.1_104</version> <version>4.1.1_105</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.json</groupId> <groupId>org.json</groupId>

View file

@ -18,7 +18,6 @@ package com.bbn.hadder;
import com.bbn.hadder.core.Config; import com.bbn.hadder.core.Config;
import com.rethinkdb.RethinkDB; import com.rethinkdb.RethinkDB;
import com.rethinkdb.gen.exc.ReqlNonExistenceError;
import com.rethinkdb.gen.exc.ReqlOpFailedError; import com.rethinkdb.gen.exc.ReqlOpFailedError;
import com.rethinkdb.net.Connection; import com.rethinkdb.net.Connection;
import org.json.JSONArray; import org.json.JSONArray;
@ -126,10 +125,10 @@ public class Rethink {
this.insert("server", r this.insert("server", r
.hashMap("id", id) .hashMap("id", id)
.with("prefix", "h.") .with("prefix", "h.")
.with("message_id", null) .with("message_id", "")
.with("role_id", null) .with("role_id", "")
.with("invite_detect", false) .with("invite_detect", false)
.with("starboard", null) .with("starboard", "")
.with("neededstars", "4") .with("neededstars", "4")
); );
} }
@ -144,7 +143,7 @@ public class Rethink {
// TODO // TODO
public boolean hasStarboardChannel(String guild_id) { public boolean hasStarboardChannel(String guild_id) {
return this.getByID("server", guild_id, "starboard") != null; return !this.getByID("server", guild_id, "starboard").equals("");
} }
// TODO // TODO
public void insertStarboardMessage(String message_id, String guild_id, String starboard_message_id) { public void insertStarboardMessage(String message_id, String guild_id, String starboard_message_id) {
@ -160,12 +159,7 @@ public class Rethink {
} }
// TODO // TODO
public boolean hasStarboardMessage(String message_id) { public boolean hasStarboardMessage(String message_id) {
try { return this.getByID("stars", message_id, "guild") != null;
this.getByID("stars", message_id, "guild");
return true;
} catch (ReqlNonExistenceError e) {
return false;
}
} }

View file

@ -24,15 +24,15 @@ public class RethinkServer {
private Rethink rethink; private Rethink rethink;
public String accept_emote = null; String accept_emote = "";
public String decline_emote = null; String decline_emote = "";
public String id; String id;
public boolean invite_detect = false; boolean invite_detect = false;
public String message_id = null; String message_id = "";
public String neededstars = "3"; String neededstars = "3";
public String prefix = "h."; String prefix = "h.";
public String role_id = null; String role_id = "";
public String starboard = null; String starboard = "";
public RethinkServer(JSONObject object, Rethink rethink) { public RethinkServer(JSONObject object, Rethink rethink) {
for (Field field : this.getClass().getDeclaredFields()) { for (Field field : this.getClass().getDeclaredFields()) {

View file

@ -24,10 +24,10 @@ public class RethinkUser {
private Rethink rethink; private Rethink rethink;
public String id; String id;
public String prefix = "h."; String prefix = "h.";
public String language = "en"; String language = "en";
public String blacklisted = null; String blacklisted = "none";
public RethinkUser(JSONObject object, Rethink rethink) { public RethinkUser(JSONObject object, Rethink rethink) {
for (Field field : this.getClass().getDeclaredFields()) { for (Field field : this.getClass().getDeclaredFields()) {
@ -43,18 +43,10 @@ public class RethinkUser {
this.rethink = rethink; this.rethink = rethink;
} }
public RethinkUser(String id) {
this.id = id;
}
public Rethink getRethink() { public Rethink getRethink() {
return rethink; return rethink;
} }
public void setRethink(Rethink rethink) {
this.rethink = rethink;
}
public String getId() { public String getId() {
return id; return id;
} }

View file

@ -18,16 +18,12 @@ package com.bbn.hadder.audio;
import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler; import com.sedmelluq.discord.lavaplayer.player.*;
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.source.AudioSourceManagers;
import com.sedmelluq.discord.lavaplayer.tools.FriendlyException; import com.sedmelluq.discord.lavaplayer.tools.FriendlyException;
import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist; import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist;
import com.sedmelluq.discord.lavaplayer.track.AudioTrack; import com.sedmelluq.discord.lavaplayer.track.AudioTrack;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.Message;
import java.util.AbstractMap; import java.util.AbstractMap;

View file

@ -111,7 +111,7 @@ public class AvatarCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[User]"; return "[user]";
} }
@Override @Override

View file

@ -85,7 +85,7 @@ public class ClydeCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Content]"; return "[content]";
} }
@Override @Override

View file

@ -70,11 +70,11 @@ public class GifCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Term]"; return "[term]";
} }
@Override @Override
public String example() { public String example() {
return "Cute cat"; return "cute cat";
} }
} }

View file

@ -104,7 +104,7 @@ public class HelpCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Command name]"; return "[command]";
} }
@Override @Override

View file

@ -117,7 +117,7 @@ public class GitHubCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[GH name]"; return "[user]";
} }
@Override @Override

View file

@ -1,5 +1,17 @@
/* /*
* @author Hax / Hax6775 / Schlauer_Hax * Copyright 2019-2020 GregTCLTK and Schlauer-Hax
*
* Licensed under the GNU Affero General Public License, Version 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.gnu.org/licenses/agpl-3.0.en.html
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/ */
package com.bbn.hadder.commands.misc; package com.bbn.hadder.commands.misc;
@ -8,7 +20,6 @@ import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.Member;
import net.dv8tion.jda.api.entities.User; import net.dv8tion.jda.api.entities.User;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -16,61 +27,62 @@ import java.time.format.DateTimeFormatter;
public class ProfileCommand implements Command { public class ProfileCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
Member member = null; User u = null;
if (args.length == 0) { if (args.length == 0) {
member = e.getMember(); u = e.getAuthor();
} else if (StringUtils.isNumeric(args[0])) { } else if (StringUtils.isNumeric(args[0]) && args[0].length() == 18) {
member = e.getGuild().getMemberById(args[0]); u = e.getJDA().getUserById(args[0]);
} else if (!StringUtils.isNumeric(args[0]) && args[0].contains("#")) { } else if (!StringUtils.isNumeric(args[0]) && args[0].contains("#")) {
try { try {
member = e.getGuild().getMemberByTag(args[0]); u = e.getJDA().getUserByTag(args[0]);
} catch (IllegalArgumentException ex) { } catch (Exception ex) {
// TODO: Translate and give better message e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
e.getChannel().sendMessage("Stop it. Just give me some valid user").queue(); "commands.misc.profile.error.title",
"commands.misc.profile.error.description").build()).queue();
return;
} }
} else if (e.getMessage().getMentionedMembers().size() == 1) { } else if (e.getMessage().getMentionedUsers().size() == 1) {
member = e.getMessage().getMentionedMembers().get(0); u = e.getMessage().getMentionedUsers().get(0);
} }
try { try {
member.getUser();
// TODO: Translate // TODO: Translate
EmbedBuilder embed = e.getMessageEditor() EmbedBuilder embed = e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO) .getMessage(MessageEditor.MessageType.INFO)
.setTitle("User Information") .setTitle("User Information")
.addField("Username", member.getUser().getName(), true) .addField("Username", u.getName(), true)
.addField("Usertag", member.getUser().getAsTag(), true) .addField("Tag", u.getAsTag(), true)
.addField("Userid", member.getUser().getId(), true) .addField("ID", u.getId(), true)
.addField("Account Creation Date", member.getUser().getTimeCreated() .addField("Account Creation Date", u.getTimeCreated()
.format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true) .format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true)
.addField("Name on Guild", member.getEffectiveName(), true) .addField("Nickname", e.getGuild().getMember(u).getEffectiveName(), true)
.addField("Guild Join Date", member.getTimeJoined() .addField("Guild Join Date", e.getGuild().getMember(u).getTimeJoined()
.format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true) .format(DateTimeFormatter.ISO_DATE_TIME).replace("T", " ").replace("Z", ""), true)
.addField("Roles", String.valueOf(member.getRoles().size()), true); .addField("Roles", String.valueOf(e.getGuild().getMember(u).getRoles().size()), true);
e.getChannel().sendMessage(embed.build()).queue(); e.getChannel().sendMessage(embed.build()).queue();
} catch (NullPointerException ex) { } catch (NullPointerException ex) {
// TODO: Translate and give better message e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
e.getChannel().sendMessage("Stop it. Just give me some valid user").queue(); "commands.misc.profile.error.title",
"commands.misc.profile.error.description").build()).queue();
} }
} }
@Override @Override
public String[] labels() { public String[] labels() {
return new String[]{"profile", "user"}; return new String[]{"profile", "user", "userinfo"};
} }
@Override @Override
public String description() { public String description() {
return "Shows some information about the user."; return "commands.misc.profile.help.description";
} }
@Override @Override
public String usage() { public String usage() {
return "@User|UserID|Username"; return "[user/id]";
} }
@Override @Override

View file

@ -91,11 +91,11 @@ public class ScreenShareCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Channel]"; return "[channel]";
} }
@Override @Override
public String example() { public String example() {
return "Gaming-Lounge"; return "Talk";
} }
} }

View file

@ -34,6 +34,15 @@ public class ServerStatsCommand implements Command {
.addField("ID", e.getGuild().getId(), true) .addField("ID", e.getGuild().getId(), true)
.addField("Region", e.getGuild().getRegion().getName(), true) .addField("Region", e.getGuild().getRegion().getName(), true)
.addField("Time created", new Date(e.getGuild().getTimeCreated().toInstant().toEpochMilli()).toString(), true) .addField("Time created", new Date(e.getGuild().getTimeCreated().toInstant().toEpochMilli()).toString(), true)
.addField("Roles", String.valueOf(e.getGuild().getRoles().size()), true)
.addField("Emotes", String.valueOf(e.getGuild().getEmotes().size()), true)
.addField("Categories", String.valueOf(e.getGuild().getCategories().size()), true)
.addField("Text/Voice/Store Channels", "`" + e.getGuild().getTextChannels().size() + "`" + "/" + "`" + e.getGuild().getVoiceChannels().size() + "`" + "/" + "`" + e.getGuild().getStoreChannels().size() + "`", true)
.addField("Verification Level", e.getGuild().getVerificationLevel().getKey() + ": " + e.getGuild().getVerificationLevel(), true)
.addField("MFA Level", String.valueOf(e.getGuild().getRequiredMFALevel().getKey()), true)
.addField("Member Count", String.valueOf(e.getGuild().getMemberCount()), true)
.addField("Explicit Content Level", e.getGuild().getExplicitContentLevel().getKey() + ": " + e.getGuild().getExplicitContentLevel(), true)
//TODO: Features
.setThumbnail(e.getGuild().getIconUrl()) .setThumbnail(e.getGuild().getIconUrl())
.setImage(e.getGuild().getBannerUrl()); .setImage(e.getGuild().getBannerUrl());
@ -45,7 +54,7 @@ public class ServerStatsCommand implements Command {
@Override @Override
public String[] labels() { public String[] labels() {
return new String[]{"serverstats"}; return new String[]{"serverstats", "guildstats"};
} }
@Override @Override

View file

@ -104,7 +104,7 @@ public class BanCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[User(s)]"; return "[user]";
} }
@Override @Override

View file

@ -109,7 +109,7 @@ public class ClearCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Amount]"; return "[amount]";
} }
@Override @Override

View file

@ -89,7 +89,7 @@ public class KickCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[User(s)]"; return "[user]";
} }
@Override @Override

View file

@ -117,7 +117,7 @@ public class NickCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[User(s)] [New nickname]"; return "[user] [nickname]";
} }
@Override @Override

View file

@ -62,7 +62,7 @@ public class PrefixCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[New Prefix]"; return "[new prefix]";
} }
@Override @Override

View file

@ -134,7 +134,7 @@ public class RegionChangeCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[New region]"; return "[new region]";
} }
@Override @Override

View file

@ -112,7 +112,7 @@ public class RoleCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[add/remove] [Role>] [User]"; return "[add/remove] [role] [user]";
} }
@Override @Override

View file

@ -63,7 +63,7 @@ public class StarboardCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Channel] [Needed stars]"; return "[channel] [needed stars]";
} }
@Override @Override

View file

@ -63,7 +63,7 @@ public class BassCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Bass-Level]"; return "[bass level]";
} }
@Override @Override

View file

@ -83,7 +83,7 @@ public class PlayCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Song URL/Name]"; return "[URL/name]";
} }
@Override @Override

View file

@ -19,6 +19,7 @@ package com.bbn.hadder.commands.music;
import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import org.jsoup.internal.StringUtil;
public class VolumeCommand implements Command { public class VolumeCommand implements Command {
@ -27,7 +28,7 @@ public class VolumeCommand implements Command {
if (args.length > 0) { if (args.length > 0) {
if (e.getAudioManager().hasPlayer(e.getGuild()) && e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack() != null) { if (e.getAudioManager().hasPlayer(e.getGuild()) && e.getAudioManager().getPlayer(e.getGuild()).getPlayingTrack() != null) {
if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) { if (e.getMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().inVoiceChannel() && e.getGuild().getSelfMember().getVoiceState().getChannel().equals(e.getMember().getVoiceState().getChannel())) {
try { if (StringUtil.isNumeric(args[0])) {
int volume = Integer.parseInt(args[0]); int volume = Integer.parseInt(args[0]);
if (volume < 201 && volume > 0 || e.getConfig().getOwners().contains(e.getAuthor().getIdLong())) { if (volume < 201 && volume > 0 || e.getConfig().getOwners().contains(e.getAuthor().getIdLong())) {
e.getAudioManager().getPlayer(e.getGuild()).setVolume(volume); e.getAudioManager().getPlayer(e.getGuild()).setVolume(volume);
@ -39,9 +40,7 @@ public class VolumeCommand implements Command {
"commands.music.volume.error.int.title", "commands.music.volume.error.int.title",
"commands.music.volume.error.int.description").build()).queue(); "commands.music.volume.error.int.description").build()).queue();
} }
} catch (NumberFormatException ex) { } else e.getHelpCommand().sendHelp(this, e);
e.getHelpCommand().sendHelp(this, e);
}
} else { } else {
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR, e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
"commands.music.volume.error.connected.title", "commands.music.volume.error.connected.title",
@ -68,7 +67,7 @@ public class VolumeCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[New volume]"; return "[volume]";
} }
@Override @Override

View file

@ -41,7 +41,7 @@ public class BlacklistCommand implements Command {
if (args.length == 3) { if (args.length == 3) {
String blacklisted = e.getRethinkUser().getBlacklisted(); String blacklisted = e.getRethinkUser().getBlacklisted();
List<String> commands = new ArrayList<>(); List<String> commands = new ArrayList<>();
if (null != blacklisted) commands.addAll(Arrays.asList(blacklisted.split(","))); if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(",")));
commands.addAll(Arrays.asList(args[1].split(","))); commands.addAll(Arrays.asList(args[1].split(",")));
LinkedHashSet<String> hashSet = new LinkedHashSet<>(commands); LinkedHashSet<String> hashSet = new LinkedHashSet<>(commands);
@ -61,7 +61,7 @@ public class BlacklistCommand implements Command {
if (args.length == 3) { if (args.length == 3) {
String blacklisted = e.getRethinkUser().getBlacklisted(); String blacklisted = e.getRethinkUser().getBlacklisted();
List<String> commands = new ArrayList<>(); List<String> commands = new ArrayList<>();
if (null != blacklisted) commands.addAll(Arrays.asList(blacklisted.split(","))); if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(",")));
commands.removeAll(Arrays.asList(args[1].split(","))); commands.removeAll(Arrays.asList(args[1].split(",")));
LinkedHashSet<String> hashSet = new LinkedHashSet<>(commands); LinkedHashSet<String> hashSet = new LinkedHashSet<>(commands);
@ -82,7 +82,7 @@ public class BlacklistCommand implements Command {
for (User user : e.getJDA().getUsers()) { for (User user : e.getJDA().getUsers()) {
if (!user.getId().equals(e.getJDA().getSelfUser().getId())) { if (!user.getId().equals(e.getJDA().getSelfUser().getId())) {
String blacklisted = e.getRethinkUser().getBlacklisted(); String blacklisted = e.getRethinkUser().getBlacklisted();
if (null != blacklisted) { if (!"none".equals(blacklisted)) {
stringBuilder.append(user.getAsTag()).append(" (").append(user.getId()).append(") - ").append(blacklisted).append("\n"); stringBuilder.append(user.getAsTag()).append(" (").append(user.getId()).append(") - ").append(blacklisted).append("\n");
} }
} }
@ -113,7 +113,7 @@ public class BlacklistCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "add|remove|list command @User"; return "[add|remove|list] [command] [user]";
} }
@Override @Override

View file

@ -114,7 +114,7 @@ public class EvalCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Code]"; return "[code]";
} }
@Override @Override

View file

@ -58,7 +58,7 @@ public class GuildLeaveCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Guild-ID]"; return "[id]";
} }
@Override @Override

View file

@ -82,7 +82,7 @@ public class LanguageCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[Language code]"; return "[language code]";
} }
@Override @Override

View file

@ -49,7 +49,7 @@ public class UserPrefixCommand implements Command {
@Override @Override
public String usage() { public String usage() {
return "[New Prefix]"; return "[new prefix]";
} }
@Override @Override

View file

@ -69,7 +69,7 @@ public class CommandHandler {
boolean run = true; boolean run = true;
String blacklisted = rethinkUser.getBlacklisted(); String blacklisted = rethinkUser.getBlacklisted();
if (null != blacklisted) { if (!"none".equals(blacklisted)) {
for (String BLLabel : blacklisted.split(",")) { for (String BLLabel : blacklisted.split(",")) {
if (Arrays.asList(cmd.labels()).contains(BLLabel)) { if (Arrays.asList(cmd.labels()).contains(BLLabel)) {
run = false; run = false;

View file

@ -90,6 +90,9 @@ commands.misc.screenshare.help.description = Shows you the link to share your sc
commands.misc.serverstats.title = Serverstats commands.misc.serverstats.title = Serverstats
commands.misc.serverstats.description = This message contains some information about `%extra%` commands.misc.serverstats.description = This message contains some information about `%extra%`
commands.misc.serverstats.help.description = Shows information about a server. commands.misc.serverstats.help.description = Shows information about a server.
commands.misc.profile.error.title = Not found
commands.misc.profile.error.description = I can't find the specified user.
commands.misc.profile.help.description = Shows some information about the specified user.
commands.moderation.ban.success.title = Successfully banned commands.moderation.ban.success.title = Successfully banned
commands.moderation.ban.success.description = I successfully baned %extra% commands.moderation.ban.success.description = I successfully baned %extra%