Page MenuHomedesp's stash

Say.java
No OneTemporary

Say.java

package me.despawningbone.discordbot.command.misc;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.List;
import me.despawningbone.discordbot.command.Command;
import me.despawningbone.discordbot.command.CommandResult;
import me.despawningbone.discordbot.command.CommandResult.CommandResultType;
import net.dv8tion.jda.api.utils.messages.MessageCreateBuilder;
import net.dv8tion.jda.api.utils.messages.MessageCreateData;
import net.dv8tion.jda.api.Permission;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.Message.MentionType;
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.entities.User;
public class Say extends Command { //DONE rewrite to say who echoed it, or even disable it for now //reenabled it with MESSAGE_MANAGE perms; not my fault if server owners decided to allow people to (ab)use it lmao
List<String> FilterWords = new ArrayList<String>(
Arrays.asList("fuck", "shit", "cunt", "pussy", "penis", "whore", "rape", "faggot", "nigga"/*, "gay"*/)); //this is 2020 we cant disallow people saying gay LOL
List<String> BotPrefix = new ArrayList<String>(Arrays.asList("!", ".", "++", "_", "-", "?"));
public Say() {
this.desc = "Make the bot say something!";
this.usage = "<message>";
this.perms = EnumSet.of(Permission.MESSAGE_MANAGE);
}
@Override
public CommandResult execute(TextChannel channel, User author, Message msg, String[] args) {
MessageCreateBuilder smsg = new MessageCreateBuilder();
String[] spmsg = msg.getContentRaw().split(" ", 3);
if (args.length < 1) {
return new CommandResult(CommandResultType.INVALIDARGS, "Say something -.-");
}
boolean noappend = false;
int fcount = 0;
int ecount = 0;
if (msg.getContentDisplay().toLowerCase().contains("pen is")) {
ecount = 1;
}
if(!msg.getMentions().getMentions(MentionType.values()).isEmpty() || msg.getContentStripped().contains("@everyone")) {
return new CommandResult(CommandResultType.FAILURE, "Please don't echo tags.");
}
for (int t = 0; t < FilterWords.size(); t++) {
String trimmedmsg = msg.getContentDisplay().replaceAll("\\s", "");
if (trimmedmsg.toLowerCase().contains(FilterWords.get(t))) {
fcount++;
}
}
// System.out.println(fcount);
if (fcount - ecount != 0) {
return new CommandResult(CommandResultType.FAILURE, "You are not permitted to do so.");
}
for (int c = 0; c < BotPrefix.size(); c++) {
if (spmsg[2].startsWith(BotPrefix.get(c))) {
smsg.addContent("\\" + spmsg[2]);
noappend = true;
break;
}
}
if (!noappend) {
smsg.addContent(spmsg[2]);
}
String content = smsg.getContent();
MessageCreateBuilder fbmsg = new MessageCreateBuilder();
if (content.toLowerCase().contains("https://") || content.toLowerCase().contains("https://")) {
String[] wsplit;
String[] tmpsplit;
if (content.toLowerCase().contains("https://")) {
wsplit = content.split("https://");
fbmsg.addContent(wsplit[0]);
tmpsplit = wsplit[1].split(" ");
fbmsg.addContent("<https://" + tmpsplit[0] + "> ");
} else {
wsplit = content.split("http://");
fbmsg.addContent(wsplit[0]);
tmpsplit = wsplit[1].split(" ");
fbmsg.addContent("<http://" + tmpsplit[0] + "> ");
}
for (int i = 0; i < tmpsplit.length - 1; i++) {
fbmsg.addContent(tmpsplit[i + 1] + " ");
}
} else {
fbmsg.addContent(content);
}
//fbmsg.addContent("\n- " + author.getName() + "#" + author.getDiscriminator()); hey they have message manage perms whatever
MessageCreateData fmsg = fbmsg.build();
channel.sendMessage(fmsg).queue();
return new CommandResult(CommandResultType.SUCCESS, "Message echoed: " + fbmsg.getContent());
}
}

File Metadata

Mime Type
text/x-java
Expires
Tue, Feb 10, 2:26 AM (20 h, 34 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
b0/25/1ee1fd4c2b05cb395518d13accd2

Event Timeline