Merge remote-tracking branch 'origin/master' into hax-dev

This commit is contained in:
Hax 2020-01-28 14:21:32 +01:00
commit 9940454f7e
35 changed files with 242 additions and 200 deletions

View file

@ -5,7 +5,7 @@
<groupId>Hadder</groupId> <groupId>Hadder</groupId>
<artifactId>Hadder</artifactId> <artifactId>Hadder</artifactId>
<version>0.1-BETA</version> <version>1.0.0</version>
<name>Hadder</name> <name>Hadder</name>
@ -27,7 +27,7 @@
<dependency> <dependency>
<groupId>net.dv8tion</groupId> <groupId>net.dv8tion</groupId>
<artifactId>JDA</artifactId> <artifactId>JDA</artifactId>
<version>4.1.0_99</version> <version>4.1.1_101</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.json</groupId> <groupId>org.json</groupId>
@ -52,7 +52,7 @@
<dependency> <dependency>
<groupId>org.kohsuke</groupId> <groupId>org.kohsuke</groupId>
<artifactId>github-api</artifactId> <artifactId>github-api</artifactId>
<version>1.102</version> <version>1.103</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.sedmelluq</groupId> <groupId>com.sedmelluq</groupId>

View file

@ -48,19 +48,19 @@ public class RethinkServer {
this.rethink = rethink; this.rethink = rethink;
} }
public String getAccept_emote() { public String getAcceptEmote() {
return accept_emote; return accept_emote;
} }
public void setAccept_emote(String accept_emote) { public void setAcceptEmote(String accept_emote) {
this.accept_emote = accept_emote; this.accept_emote = accept_emote;
} }
public String getDecline_emote() { public String getDeclineEmote() {
return decline_emote; return decline_emote;
} }
public void setDecline_emote(String decline_emote) { public void setDeclineEmote(String decline_emote) {
this.decline_emote = decline_emote; this.decline_emote = decline_emote;
} }
@ -68,27 +68,27 @@ public class RethinkServer {
return id; return id;
} }
public boolean isInvite_detect() { public boolean isInviteDetect() {
return invite_detect; return invite_detect;
} }
public void setInvite_detect(boolean invite_detect) { public void setInviteDetect(boolean invite_detect) {
this.invite_detect = invite_detect; this.invite_detect = invite_detect;
} }
public String getMessage_id() { public String getMessageID() {
return message_id; return message_id;
} }
public void setMessage_id(String message_id) { public void setMessageID(String message_id) {
this.message_id = message_id; this.message_id = message_id;
} }
public String getNeededstars() { public String getNeededStars() {
return neededstars; return neededstars;
} }
public void setNeededstars(String neededstars) { public void setNeededStars(String neededstars) {
this.neededstars = neededstars; this.neededstars = neededstars;
} }
@ -100,11 +100,11 @@ public class RethinkServer {
this.prefix = prefix; this.prefix = prefix;
} }
public String getRole_id() { public String getRoleID() {
return role_id; return role_id;
} }
public void setRole_id(String role_id) { public void setRoleID(String role_id) {
this.role_id = role_id; this.role_id = role_id;
} }
@ -117,10 +117,10 @@ public class RethinkServer {
} }
public void updateRules(String message_id, String role_id, String accept_emote, String decline_emote) { public void updateRules(String message_id, String role_id, String accept_emote, String decline_emote) {
this.setMessage_id(message_id); this.setMessageID(message_id);
this.setRole_id(role_id); this.setRoleID(role_id);
this.setAccept_emote(accept_emote); this.setAcceptEmote(accept_emote);
this.setDecline_emote(decline_emote); this.setDeclineEmote(decline_emote);
} }
public void push() { public void push() {

View file

@ -130,6 +130,8 @@ public class AudioManager {
}); });
} }
/*
TODO: DJ integration
public boolean isDj(Member member) { public boolean isDj(Member member) {
return member.getRoles().stream().anyMatch(r -> r.getName().equals("DJ")); return member.getRoles().stream().anyMatch(r -> r.getName().equals("DJ"));
} }
@ -137,22 +139,18 @@ public class AudioManager {
public boolean isCurrentDj(Member member) { public boolean isCurrentDj(Member member) {
return getTrackManager(member.getGuild()).getTrackInfo(getPlayer(member.getGuild()).getPlayingTrack()).getAuthor().equals(member); return getTrackManager(member.getGuild()).getTrackInfo(getPlayer(member.getGuild()).getPlayingTrack()).getAuthor().equals(member);
} }
*/
public void forceSkipTrack(CommandEvent event) { public void forceSkipTrack(CommandEvent event) {
getPlayer(event.getGuild()).stopTrack(); getPlayer(event.getGuild()).stopTrack();
} }
public String getTimestamp(long milis) { public String getTimestamp(long m) {
long seconds = milis / 1000; long s = m / 1000;
long hours = Math.floorDiv(seconds, 3600); long hours = Math.floorDiv(s, 3600);
seconds = seconds - (hours * 3600); s = s - (hours * 3600);
long mins = Math.floorDiv(seconds, 60); long minutes = Math.floorDiv(s, 60);
seconds = seconds - (mins * 60); s = s - (minutes * 60);
return (hours == 0 ? "" : hours + ":") + String.format("%02d", mins) + ":" + String.format("%02d", seconds); return (hours == 0 ? "" : hours + ":") + String.format("%02d", minutes) + ":" + String.format("%02d", s);
}
public String getOrNull(String s) {
return s.isEmpty() ? "N/A" : s;
} }
} }

View file

@ -32,7 +32,7 @@ public class TrackManager extends AudioEventAdapter {
private final AudioPlayer player; private final AudioPlayer player;
private final AudioManager manager; private final AudioManager manager;
private final Queue<AudioInfo> queue; private final Queue<AudioInfo> queue;
AudioTrack lastTrack; private AudioTrack lastTrack;
private boolean loop = false; private boolean loop = false;
public TrackManager(AudioPlayer player, AudioManager manager) { public TrackManager(AudioPlayer player, AudioManager manager) {

View file

@ -28,7 +28,7 @@ public class EditRulesCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getRethinkServer().getMessage_id().length() == 18) { if (e.getRethinkServer().getMessageID().length() == 18) {
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.moderation.editrules.message.title", "commands.moderation.editrules.message.title",
"commands.moderation.editrules.message.description").build()).queue(); "commands.moderation.editrules.message.description").build()).queue();
@ -74,7 +74,7 @@ public class EditRulesCommand implements Command {
public void checkChannel(CommandEvent e, String rules, TextChannel channel) { public void checkChannel(CommandEvent e, String rules, TextChannel channel) {
try { try {
channel.retrieveMessageById(e.getRethinkServer().getMessage_id()).queue(); channel.retrieveMessageById(e.getRethinkServer().getMessageID()).queue();
setRules(e, rules, channel); setRules(e, rules, channel);
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"commands.moderation.editrules.success.title", "commands.moderation.editrules.success.title",
@ -87,7 +87,7 @@ public class EditRulesCommand implements Command {
} }
public void setRules(CommandEvent e, String rules, TextChannel channel) { public void setRules(CommandEvent e, String rules, TextChannel channel) {
channel.retrieveMessageById(e.getRethinkServer().getMessage_id()).complete().editMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) channel.retrieveMessageById(e.getRethinkServer().getMessageID()).complete().editMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setTitle("Rules") .setTitle("Rules")
.setDescription(rules) .setDescription(rules)
.build()).queue(); .build()).queue();

View file

@ -31,8 +31,8 @@ public class InviteDetectCommand implements Command {
String opinion = args[0].toLowerCase(); String opinion = args[0].toLowerCase();
switch (opinion) { switch (opinion) {
case "on": case "on":
if (!e.getRethinkServer().isInvite_detect()) { if (!e.getRethinkServer().isInviteDetect()) {
e.getRethinkServer().setInvite_detect(true); e.getRethinkServer().setInviteDetect(true);
e.getTextChannel().sendMessage( e.getTextChannel().sendMessage(
e.getMessageEditor().getMessage( e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO, MessageEditor.MessageType.INFO,
@ -50,8 +50,8 @@ public class InviteDetectCommand implements Command {
break; break;
case "off": case "off":
if (e.getRethinkServer().isInvite_detect()) { if (e.getRethinkServer().isInviteDetect()) {
e.getRethinkServer().setInvite_detect(false); e.getRethinkServer().setInviteDetect(false);
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage( e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(
MessageEditor.MessageType.INFO, MessageEditor.MessageType.INFO,
"commands.moderation.invitedetect.deactivate.success.title", "commands.moderation.invitedetect.deactivate.success.title",

View file

@ -86,6 +86,10 @@ public class RegionChangeCommand implements Command {
case "us-south": case "us-south":
setRegion(Region.US_SOUTH, "US South", e); setRegion(Region.US_SOUTH, "US South", e);
break; break;
/*case "south-korea":
setRegion(Region.SOUTH_KOREA, "South Korea", e);
break;
TODO: Publish when JDA v4.2.0 is released*/
default: default:
e.getTextChannel().sendMessage( e.getTextChannel().sendMessage(
e.getMessageEditor().getMessage( e.getMessageEditor().getMessage(
@ -97,7 +101,6 @@ public class RegionChangeCommand implements Command {
break; break;
} }
//TODO: Maybe South Korea. Check the geo restricted discussion
} else } else
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue(); e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_SELF_PERMISSION).build()).queue();
} else e.getTextChannel().sendMessage( } else e.getTextChannel().sendMessage(

View file

@ -56,13 +56,15 @@ public class RulesCommand implements Command {
try { try {
TextChannel channel = e1.getGuild().getTextChannelsByName(e1.getMessage().getContentRaw(), true).get(0); TextChannel channel = e1.getGuild().getTextChannelsByName(e1.getMessage().getContentRaw(), true).get(0);
createRules(e, e1, channel); createRules(e, e1, channel);
} catch (Exception ex) { } catch (NullPointerException ex) {
e.getTextChannel().sendMessage( e.getTextChannel().sendMessage(
e.getMessageEditor().getMessage( e.getMessageEditor().getMessage(
MessageEditor.MessageType.ERROR, MessageEditor.MessageType.ERROR,
"commands.moderation.rules.channel.error.title", "commands.moderation.rules.channel.error.title",
"commands.moderation.rules.channel.error.description") "commands.moderation.rules.channel.error.description")
.build()).queue(); .build()).queue();
} catch (Exception ex) {
ex.printStackTrace();
} }
} }
}, e.getJDA(), e.getAuthor()); }, e.getJDA(), e.getAuthor());

View file

@ -45,7 +45,7 @@ public class StarboardCommand implements Command {
} }
if (args.length==2) { if (args.length==2) {
e.getRethinkServer().setNeededstars(args[1]); e.getRethinkServer().setNeededStars(args[1]);
} }
e.getRethinkServer().push(); e.getRethinkServer().push();

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.music; package com.bbn.hadder.commands.music;

View file

@ -10,31 +10,23 @@ import com.bbn.hadder.core.Perm;
import com.bbn.hadder.core.Perms; import com.bbn.hadder.core.Perms;
import net.dv8tion.jda.api.audio.AudioReceiveHandler; import net.dv8tion.jda.api.audio.AudioReceiveHandler;
import net.dv8tion.jda.api.audio.AudioSendHandler; import net.dv8tion.jda.api.audio.AudioSendHandler;
import net.dv8tion.jda.api.audio.CombinedAudio;
import net.dv8tion.jda.api.audio.UserAudio; import net.dv8tion.jda.api.audio.UserAudio;
import net.dv8tion.jda.api.entities.Guild; import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.managers.AudioManager; import net.dv8tion.jda.api.managers.AudioManager;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import javax.sound.sampled.*;
import java.io.File; import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Queue; import java.util.Queue;
import java.util.UUID;
import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ConcurrentLinkedQueue;
@Perms(Perm.BOT_OWNER) @Perms(Perm.BOT_OWNER)
public class RecordCommand implements Command { public class RecordCommand implements Command {
private final HashMap<String, Queue<byte[]>> queue = new HashMap<String, Queue<byte[]>>(); private final HashMap<String, Queue<byte[]>> queue = new HashMap<>();
@Override @Override
public void executed(String[] args, CommandEvent event) { public void executed(String[] args, CommandEvent event) {

View file

@ -19,14 +19,14 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class AnalCommand implements Command { public class AnalCommand implements Command {
@Override @Override
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/anal/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/anal/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
.setImage(url) .setImage(url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class BDSMCommand implements Command { public class BDSMCommand implements Command {
@ -27,7 +27,7 @@ public class BDSMCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/img/bdsm_lewd"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/img/bdsm_lewd");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class BlowjobCommand implements Command { public class BlowjobCommand implements Command {
@ -27,7 +27,7 @@ public class BlowjobCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://nekos.life/api/v2/img/blowjob"); String url = Http.getNSFW("https://nekos.life/api/v2/img/blowjob");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class BoobsCommand implements Command { public class BoobsCommand implements Command {
@ -27,7 +27,7 @@ public class BoobsCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/tits/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/tits/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class CumCommand implements Command { public class CumCommand implements Command {
@ -27,7 +27,7 @@ public class CumCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/cum/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/cum/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class EroticCommand implements Command { public class EroticCommand implements Command {
@ -27,7 +27,7 @@ public class EroticCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://nekos.life/api/v2/img/erok"); String url = Http.getNSFW("https://nekos.life/api/v2/img/erok");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class FeetCommand implements Command { public class FeetCommand implements Command {
@ -27,7 +27,7 @@ public class FeetCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/feet/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/feet/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class FingeringCommand implements Command { public class FingeringCommand implements Command {
@ -27,7 +27,7 @@ public class FingeringCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/pussy_wank/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/pussy_wank/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class LickingCommand implements Command { public class LickingCommand implements Command {
@ -27,7 +27,7 @@ public class LickingCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/kuni/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/kuni/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class PornCommand implements Command { public class PornCommand implements Command {
@ -27,7 +27,7 @@ public class PornCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/classic/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/classic/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class PussyCommand implements Command { public class PussyCommand implements Command {
@ -27,7 +27,7 @@ public class PussyCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://nekos.life/api/v2/img/pussy/"); String url = Http.getNSFW("https://nekos.life/api/v2/img/pussy/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class RandomPornCommand implements Command { public class RandomPornCommand implements Command {
@ -27,7 +27,7 @@ public class RandomPornCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/all_tags/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/all_tags/");
e.getTextChannel() e.getTextChannel()
.sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) .sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
@ -38,8 +38,7 @@ public class RandomPornCommand implements Command {
} else { } else {
e.getTextChannel() e.getTextChannel()
.sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()) .sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
.queue();
} }
} }

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class SoloCommand implements Command { public class SoloCommand implements Command {
@ -27,7 +27,7 @@ public class SoloCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/girls_solo/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/girls_solo/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class SpankCommand implements Command { public class SpankCommand implements Command {
@ -27,7 +27,7 @@ public class SpankCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://api.nekos.dev/api/v3/images/nsfw/gif/spank/"); String url = Http.getNSFW("https://api.nekos.dev/api/v3/images/nsfw/gif/spank/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
@ -36,9 +36,7 @@ public class SpankCommand implements Command {
.build()).queue(); .build()).queue();
} else { } else {
e.getTextChannel() e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
.sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build())
.queue();
} }
} }

View file

@ -19,7 +19,7 @@ package com.bbn.hadder.commands.nsfw;
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 com.bbn.hadder.utils.Request; import com.bbn.hadder.utils.Http;
public class TransCommand implements Command { public class TransCommand implements Command {
@ -27,7 +27,7 @@ public class TransCommand implements Command {
public void executed(String[] args, CommandEvent e) { public void executed(String[] args, CommandEvent e) {
if (e.getTextChannel().isNSFW()) { if (e.getTextChannel().isNSFW()) {
String url = Request.get("https://nekos.life/api/v2/img/trap/"); String url = Http.getNSFW("https://nekos.life/api/v2/img/trap/");
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO) e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url) .setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
@ -37,8 +37,7 @@ public class TransCommand implements Command {
} else { } else {
e.getTextChannel() e.getTextChannel()
.sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()) .sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.NO_NSFW).build()).queue();
.queue();
} }
} }

View file

@ -40,7 +40,6 @@ public class BlacklistCommand implements Command {
switch (args[0].toLowerCase()) { switch (args[0].toLowerCase()) {
case "add": case "add":
if (args.length == 3) { if (args.length == 3) {
Member member = e.getMessage().getMentionedMembers().get(0);
String blacklisted = e.getRethinkUser().getBlacklisted(); String blacklisted = e.getRethinkUser().getBlacklisted();
List<String> commands = new ArrayList<>(); List<String> commands = new ArrayList<>();
if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(","))); if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(",")));
@ -61,7 +60,6 @@ public class BlacklistCommand implements Command {
case "remove": case "remove":
if (args.length == 3) { if (args.length == 3) {
Member member = e.getMessage().getMentionedMembers().get(0);
String blacklisted = e.getRethinkUser().getBlacklisted(); String blacklisted = e.getRethinkUser().getBlacklisted();
List<String> commands = new ArrayList<>(); List<String> commands = new ArrayList<>();
if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(","))); if (!"none".equals(blacklisted)) commands.addAll(Arrays.asList(blacklisted.split(",")));

View file

@ -19,6 +19,7 @@ package com.bbn.hadder.commands.settings;
import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.Command;
import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.commands.CommandEvent;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
public class LanguageCommand implements Command { public class LanguageCommand implements Command {
@ -47,6 +48,12 @@ public class LanguageCommand implements Command {
case "zh": case "zh":
setLanguage("zh", "Chinese", e); setLanguage("zh", "Chinese", e);
break; break;
default:
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
"List",
"`de`, `en`, `es`, `fr`, `ru`, `tr`, `zh`")
.build()).queue();
break;
} }
} else { } else {
e.getHelpCommand().sendHelp(this, e); e.getHelpCommand().sendHelp(this, e);
@ -60,8 +67,7 @@ public class LanguageCommand implements Command {
e.getMessageEditor() e.getMessageEditor()
.getMessage(MessageEditor.MessageType.INFO, "commands.settings.language.success.title", .getMessage(MessageEditor.MessageType.INFO, "commands.settings.language.success.title",
"", "commands.settings.language.success.description", language) "", "commands.settings.language.success.description", language)
.build()) .build()).queue();
.queue();
e.getRethinkUser().push(); e.getRethinkUser().push();
} }

View file

@ -21,10 +21,15 @@ import com.bbn.hadder.RethinkServer;
import com.bbn.hadder.RethinkUser; import com.bbn.hadder.RethinkUser;
import com.bbn.hadder.audio.AudioManager; import com.bbn.hadder.audio.AudioManager;
import com.bbn.hadder.core.CommandHandler; import com.bbn.hadder.core.CommandHandler;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.ChannelType; import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
import java.awt.*;
import java.time.Instant;
public class CommandListener extends ListenerAdapter { public class CommandListener extends ListenerAdapter {
private Rethink rethink; private Rethink rethink;
@ -38,24 +43,44 @@ public class CommandListener extends ListenerAdapter {
} }
@Override @Override
public void onMessageReceived(MessageReceivedEvent event) { public void onMessageReceived(MessageReceivedEvent e) {
if (event.isFromType(ChannelType.TEXT) && !event.getAuthor().isBot()) { if (e.isFromType(ChannelType.TEXT) && !e.getAuthor().isBot()) {
RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", event.getAuthor().getId()), rethink); if (e.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_WRITE)) {
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink); if (e.getGuild().getSelfMember().hasPermission(Permission.MESSAGE_EMBED_LINKS)) {
RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", e.getAuthor().getId()), rethink);
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
rethinkUser.push(); rethinkUser.push();
rethinkServer.push(); rethinkServer.push();
String[] prefixes = { String[] prefixes = {
rethinkUser.getPrefix(), rethinkServer.getPrefix(), rethinkUser.getPrefix(), rethinkServer.getPrefix(),
event.getGuild().getSelfMember().getAsMention() + " ", event.getGuild().getSelfMember().getAsMention(), e.getGuild().getSelfMember().getAsMention() + " ", e.getGuild().getSelfMember().getAsMention(),
event.getGuild().getSelfMember().getAsMention().replace("@", "@!") + " ", e.getGuild().getSelfMember().getAsMention().replace("@", "@!") + " ",
event.getGuild().getSelfMember().getAsMention().replace("@", "@!") e.getGuild().getSelfMember().getAsMention().replace("@", "@!")
}; };
for (String prefix : prefixes) { for (String prefix : prefixes) {
if (event.getMessage().getContentRaw().startsWith(prefix)) { if (e.getMessage().getContentRaw().startsWith(prefix)) {
handler.handle(event, rethink, prefix, audioManager, rethinkUser, rethinkServer); handler.handle(e, rethink, prefix, audioManager, rethinkUser, rethinkServer);
return; return;
} }
} }
} else {
e.getAuthor().openPrivateChannel().complete().sendMessage(new EmbedBuilder()
.setTitle("No permission")
.setDescription("I need the `MESSAGE EMBED LINKS` permission in order to work!")
.setColor(Color.RED)
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
.setTimestamp(Instant.now())
.build()).queue();
}
} else {
e.getAuthor().openPrivateChannel().complete().sendMessage(new EmbedBuilder()
.setTitle("No permission")
.setDescription("I need the `MESSAGE WRITE` permission in order to work!")
.setColor(Color.RED)
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
.setTimestamp(Instant.now())
.build()).queue();
}
} }
} }
} }

View file

@ -40,13 +40,13 @@ public class InviteLinkListener extends ListenerAdapter {
} }
@Override @Override
public void onMessageReceived(@Nonnull MessageReceivedEvent event) { public void onMessageReceived(@Nonnull MessageReceivedEvent e) {
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink); RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
if (event.isFromType(ChannelType.TEXT)) { if (e.isFromType(ChannelType.TEXT)) {
if (event.getMessage().getContentRaw().contains("discord.gg/") && (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInvite_detect())) { if (e.getMessage().getContentRaw().contains("discord.gg/") && (!e.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInviteDetect())) {
checkInvite(event.getMessage(), "discord.gg/"); checkInvite(e.getMessage(), "discord.gg/");
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && (!event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInvite_detect())) { } else if (e.getMessage().getContentRaw().contains("discordapp.com/invite") && (!e.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInviteDetect())) {
checkInvite(event.getMessage(), "discordapp.com/invite/"); checkInvite(e.getMessage(), "discordapp.com/invite/");
} }
} }
} }
@ -68,13 +68,13 @@ public class InviteLinkListener extends ListenerAdapter {
} }
@Override @Override
public void onMessageUpdate(@Nonnull MessageUpdateEvent event) { public void onMessageUpdate(@Nonnull MessageUpdateEvent e) {
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink); RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
if (event.isFromType(ChannelType.TEXT)) { if (e.isFromType(ChannelType.TEXT)) {
if (event.getMessage().getContentRaw().contains("discord.gg/") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInvite_detect()) { if (e.getMessage().getContentRaw().contains("discord.gg/") && !e.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInviteDetect()) {
checkInvite(event.getMessage(), "discord.gg/"); checkInvite(e.getMessage(), "discord.gg/");
} else if (event.getMessage().getContentRaw().contains("discordapp.com/invite") && !event.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInvite_detect()) { } else if (e.getMessage().getContentRaw().contains("discordapp.com/invite") && !e.getMember().hasPermission(Permission.ADMINISTRATOR) && rethinkServer.isInviteDetect()) {
checkInvite(event.getMessage(), "discordapp.com/invite/"); checkInvite(e.getMessage(), "discordapp.com/invite/");
} }
} }
} }

View file

@ -36,24 +36,24 @@ public class MentionListener extends ListenerAdapter {
} }
@Override @Override
public void onMessageReceived(@Nonnull MessageReceivedEvent event) { public void onMessageReceived(@Nonnull MessageReceivedEvent e) {
if (!event.getAuthor().isBot()) { if (!e.getAuthor().isBot()) {
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink); RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", event.getAuthor().getId()), rethink); RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", e.getAuthor().getId()), rethink);
if (event.isFromType(ChannelType.TEXT) && (event.getMessage().getContentRaw().equals(event.getGuild().getSelfMember().getAsMention()) || if (e.isFromType(ChannelType.TEXT) && (e.getMessage().getContentRaw().equals(e.getGuild().getSelfMember().getAsMention()) ||
event.getMessage().getContentRaw().equals(event.getGuild().getSelfMember().getAsMention().replace("@", "@!")))) { e.getMessage().getContentRaw().equals(e.getGuild().getSelfMember().getAsMention().replace("@", "@!")))) {
event.getChannel().sendMessage(new MessageEditor(rethinkUser, event.getAuthor()).getMessage(MessageEditor.MessageType.INFO) e.getChannel().sendMessage(new MessageEditor(rethinkUser, e.getAuthor()).getMessage(MessageEditor.MessageType.INFO)
.setTitle("Hello I'm Hadder.") .setTitle("Hello I'm Hadder.")
.setAuthor(event.getJDA().getSelfUser().getName(), event.getJDA().getSelfUser().getAvatarUrl(), event.getJDA().getSelfUser().getAvatarUrl()) .setAuthor(e.getJDA().getSelfUser().getName(), e.getJDA().getSelfUser().getAvatarUrl(), e.getJDA().getSelfUser().getAvatarUrl())
.addField("Users", String.valueOf(event.getJDA().getUsers().size()), false) .addField("Users", String.valueOf(e.getJDA().getUsers().size()), false)
.addField("Guilds", String.valueOf(event.getJDA().getGuilds().size()), false) .addField("Guilds", String.valueOf(e.getJDA().getGuilds().size()), false)
.addField("Prefix (User)", rethinkUser.getPrefix(), false) .addField("Prefix (User)", rethinkUser.getPrefix(), false)
.addField("Prefix (Guild)", rethinkServer.getPrefix(), false) .addField("Prefix (Guild)", rethinkServer.getPrefix(), false)
.build()).queue(); .build()).queue();
} else if (event.getMessage().getContentRaw().equalsIgnoreCase("@someone")) { } else if (e.getMessage().getContentRaw().equalsIgnoreCase("@someone")) {
int member = new Random().nextInt(event.getGuild().getMembers().size() - 1); int member = new Random().nextInt(e.getGuild().getMembers().size() - 1);
if (member > 0 && member < event.getGuild().getMembers().size()) { if (member > 0 && member < e.getGuild().getMembers().size()) {
event.getChannel().sendMessage(event.getGuild().getMembers().get(member).getAsMention() + " (Executed by: " + event.getAuthor().getAsTag() + ")").queue(); e.getChannel().sendMessage(e.getGuild().getMembers().get(member).getAsMention() + " (Executed by: " + e.getAuthor().getAsTag() + ")").queue();
} }
} }
} }

View file

@ -19,11 +19,13 @@ package com.bbn.hadder.listener;
import com.bbn.hadder.Rethink; import com.bbn.hadder.Rethink;
import com.bbn.hadder.RethinkUser; import com.bbn.hadder.RethinkUser;
import com.bbn.hadder.utils.MessageEditor; import com.bbn.hadder.utils.MessageEditor;
import net.dv8tion.jda.api.EmbedBuilder;
import net.dv8tion.jda.api.entities.ChannelType; import net.dv8tion.jda.api.entities.ChannelType;
import net.dv8tion.jda.api.entities.PrivateChannel; import net.dv8tion.jda.api.entities.PrivateChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
import java.awt.*;
import java.time.Instant; import java.time.Instant;
public class PrivateMessageListener extends ListenerAdapter { public class PrivateMessageListener extends ListenerAdapter {
@ -34,22 +36,30 @@ public class PrivateMessageListener extends ListenerAdapter {
this.rethink = rethink; this.rethink = rethink;
} }
public void onMessageReceived(MessageReceivedEvent event) { public void onMessageReceived(MessageReceivedEvent e) {
if (event.isFromType(ChannelType.PRIVATE) && !event.getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) { if (e.isFromType(ChannelType.PRIVATE) && !e.getAuthor().getId().equals(e.getJDA().getSelfUser().getId())) {
PrivateChannel Skidder = event.getJDA().getUserById("477141528981012511").openPrivateChannel().complete(); PrivateChannel Skidder = e.getJDA().getUserById("477141528981012511").openPrivateChannel().complete();
PrivateChannel Hax = event.getJDA().getUserById("261083609148948488").openPrivateChannel().complete(); PrivateChannel Hax = e.getJDA().getUserById("261083609148948488").openPrivateChannel().complete();
RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", "261083609148948488"), rethink); RethinkUser rethinkUser = new RethinkUser(rethink.getObjectByID("user", "261083609148948488"), rethink);
Skidder.sendMessage(new MessageEditor(rethinkUser, event.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO) Skidder.sendMessage(new MessageEditor(rethinkUser, e.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO)
.setTitle("New DM by " + event.getAuthor().getAsTag()) .setTitle("New DM by " + e.getAuthor().getAsTag())
.setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl()) .setAuthor(e.getAuthor().getName(), e.getAuthor().getAvatarUrl(), e.getAuthor().getAvatarUrl())
.setDescription(event.getMessage().getContentRaw()) .setDescription(e.getMessage().getContentRaw())
.setTimestamp(Instant.now()) .setTimestamp(Instant.now())
.build()).queue(); .build()).queue();
Hax.sendMessage(new MessageEditor(rethinkUser, event.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO) Hax.sendMessage(new MessageEditor(rethinkUser, e.getJDA().getUserById("261083609148948488")).getMessage(MessageEditor.MessageType.INFO)
.setTitle("New DM by " + event.getAuthor().getAsTag()) .setTitle("New DM by " + e.getAuthor().getAsTag())
.setAuthor(event.getAuthor().getName(), event.getAuthor().getAvatarUrl(), event.getAuthor().getAvatarUrl()) .setAuthor(e.getAuthor().getName(), e.getAuthor().getAvatarUrl(), e.getAuthor().getAvatarUrl())
.setDescription(event.getMessage().getContentRaw()) .setDescription(e.getMessage().getContentRaw())
.setTimestamp(Instant.now())
.build()).queue();
e.getChannel().sendMessage(new EmbedBuilder()
.setTitle("No DM support")
.setDescription("You have to execute your commands on a guild!")
.setColor(Color.RED)
.setFooter("Hadder", "https://bigbotnetwork.com/images/Hadder.png")
.setTimestamp(Instant.now()) .setTimestamp(Instant.now())
.build()).queue(); .build()).queue();
} }

View file

@ -31,43 +31,43 @@ public class RulesListener extends ListenerAdapter {
} }
@Override @Override
public void onMessageReactionAdd(MessageReactionAddEvent event) { public void onMessageReactionAdd(MessageReactionAddEvent e) {
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink); RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
if (event.getMessageId().equals(rethinkServer.getMessage_id()) && !event.getMember().getUser().isBot()) { if (e.getMessageId().equals(rethinkServer.getMessageID()) && !e.getUser().isBot()) {
if (event.getReactionEmote().isEmote()) { if (e.getReactionEmote().isEmote()) {
if (rethinkServer.getAccept_emote().equals(event.getReactionEmote().getId())) { if (rethinkServer.getAcceptEmote().equals(e.getReactionEmote().getId())) {
addRole(event); addRole(e);
} else if (rethinkServer.getDecline_emote().equals(event.getReactionEmote().getId())) { } else if (rethinkServer.getDeclineEmote().equals(e.getReactionEmote().getId())) {
event.getReaction().removeReaction(event.getUser()).queue(); e.getReaction().removeReaction(e.getUser()).queue();
if (event.getGuild().getSelfMember().canInteract(event.getMember())) { if (e.getGuild().getSelfMember().canInteract(e.getMember())) {
event.getMember().kick().reason("Declined the rules"); e.getMember().kick().reason("Declined the rules");
} }
} }
} else if (event.getReactionEmote().isEmoji()) { } else if (e.getReactionEmote().isEmoji()) {
if (rethinkServer.getAccept_emote().equals(event.getReactionEmote().getEmoji())) { if (rethinkServer.getAcceptEmote().equals(e.getReactionEmote().getEmoji())) {
addRole(event); addRole(e);
} else if (rethinkServer.getDecline_emote().equals(event.getReactionEmote().getEmoji())) { } else if (rethinkServer.getDeclineEmote().equals(e.getReactionEmote().getEmoji())) {
event.getReaction().removeReaction(event.getUser()).queue(); e.getReaction().removeReaction(e.getUser()).queue();
if (event.getGuild().getSelfMember().canInteract(event.getMember())) { if (e.getGuild().getSelfMember().canInteract(e.getMember())) {
event.getMember().kick().reason("Declined the rules"); e.getMember().kick().reason("Declined the rules");
} }
} }
} }
} }
} }
private void addRole(MessageReactionAddEvent event) { private void addRole(MessageReactionAddEvent e) {
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink); RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
if (event.getMember().getRoles().contains(event.getGuild().getRoleById(rethinkServer.getMessage_id()))) { if (e.getMember().getRoles().contains(e.getGuild().getRoleById(rethinkServer.getRoleID()))) {
event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethinkServer.getMessage_id())).reason("Accepted rules").queue(); e.getGuild().removeRoleFromMember(e.getMember(), e.getGuild().getRoleById(rethinkServer.getRoleID())).reason("Accepted rules").queue();
} else event.getGuild().addRoleToMember(event.getMember(), event.getGuild().getRoleById(rethinkServer.getRole_id())).reason("Accepted rules").queue(); } else e.getGuild().addRoleToMember(e.getMember(), e.getGuild().getRoleById(rethinkServer.getRoleID())).reason("Accepted rules").queue();
} }
@Override @Override
public void onMessageReactionRemove(MessageReactionRemoveEvent event) { public void onMessageReactionRemove(MessageReactionRemoveEvent e) {
RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", event.getGuild().getId()), rethink); RethinkServer rethinkServer = new RethinkServer(rethink.getObjectByID("server", e.getGuild().getId()), rethink);
if (event.getMessageId().equals(rethinkServer.getMessage_id()) && !event.getMember().getUser().isBot()) { if (e.getMessageId().equals(rethinkServer.getMessageID()) && !e.getUser().isBot()) {
event.getGuild().removeRoleFromMember(event.getMember(), event.getGuild().getRoleById(rethinkServer.getRole_id())).reason("Withdrawal of the acceptance of the rules").queue(); e.getGuild().removeRoleFromMember(e.getMember(), e.getGuild().getRoleById(rethinkServer.getRoleID())).reason("Withdrawal of the acceptance of the rules").queue();
} }
} }
} }

View file

@ -60,7 +60,7 @@ public class StarboardListener extends ListenerAdapter {
} }
} }
if (Integer.parseInt(rethinkServer.getNeededstars()) <= stars) { if (Integer.parseInt(rethinkServer.getNeededStars()) <= stars) {
e.getGuild().getTextChannelById(rethinkServer.getStarboard()) e.getGuild().getTextChannelById(rethinkServer.getStarboard())
.sendMessage(new MessageBuilder() .sendMessage(new MessageBuilder()
.setContent("⭐ 1" + " " + e.getTextChannel().getAsMention()) .setContent("⭐ 1" + " " + e.getTextChannel().getAsMention())
@ -94,7 +94,7 @@ public class StarboardListener extends ListenerAdapter {
.retrieveMessageById(rethink.getStarboardMessage(e.getMessageId())).queue( .retrieveMessageById(rethink.getStarboardMessage(e.getMessageId())).queue(
msg2 -> { msg2 -> {
if (Integer.parseInt(rethinkServer.getNeededstars()) <= finalStars) { if (Integer.parseInt(rethinkServer.getNeededStars()) <= finalStars) {
msg2.editMessage(new MessageBuilder() msg2.editMessage(new MessageBuilder()
.setContent("" + finalStars + " " + e.getTextChannel().getAsMention()) .setContent("" + finalStars + " " + e.getTextChannel().getAsMention())
.setEmbed( .setEmbed(

View file

@ -22,9 +22,9 @@ import org.json.JSONObject;
import java.io.IOException; import java.io.IOException;
public class Request { public class Http {
public static String get(String url) { public static String getNSFW(String url) {
OkHttpClient caller = new OkHttpClient(); OkHttpClient caller = new OkHttpClient();
okhttp3.Request request = new okhttp3.Request.Builder().url(url).build(); okhttp3.Request request = new okhttp3.Request.Builder().url(url).build();