Merge remote-tracking branch 'origin/greg-dev' into hax-dev
This commit is contained in:
commit
4c926f8610
29 changed files with 200 additions and 73 deletions
|
|
@ -15,6 +15,7 @@ Hadder Discord is a multi-purpose Discord bot with 100% uptime.
|
|||
[](https://top.gg/bot/637002314162372639)
|
||||
[](https://botlist.space/bot/637002314162372639?utm_source=bls&utm_medium=widget&utm_campaign=637002314162372639)
|
||||
[](https://discordbotlist.com/bots/637002314162372639)
|
||||
[](https://arcane-botcenter.xyz/bot/637002314162372639)
|
||||
|
||||
## Hadder Team
|
||||
### Developer
|
||||
|
|
|
|||
14
pom.xml
14
pom.xml
|
|
@ -5,7 +5,7 @@
|
|||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>Hadder</groupId>
|
||||
<artifactId>Hadder</artifactId>
|
||||
<version>1.1.3</version>
|
||||
<version>1.3.3</version>
|
||||
<name>Hadder</name>
|
||||
<inceptionYear>2019</inceptionYear>
|
||||
<description>Hadder is a multi-purpose Discord bot.</description>
|
||||
|
|
@ -66,7 +66,7 @@
|
|||
<dependency>
|
||||
<groupId>net.dv8tion</groupId>
|
||||
<artifactId>JDA</artifactId>
|
||||
<version>4.1.1_113</version>
|
||||
<version>4.1.1_149</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.json</groupId>
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
<dependency>
|
||||
<groupId>com.rethinkdb</groupId>
|
||||
<artifactId>rethinkdb-driver</artifactId>
|
||||
<version>2.4.0</version>
|
||||
<version>2.4.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
|
|
@ -86,22 +86,22 @@
|
|||
<dependency>
|
||||
<groupId>club.minnced</groupId>
|
||||
<artifactId>discord-webhooks</artifactId>
|
||||
<version>0.2.0</version>
|
||||
<version>0.3.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.kohsuke</groupId>
|
||||
<artifactId>github-api</artifactId>
|
||||
<version>1.108</version>
|
||||
<version>1.111</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.sedmelluq</groupId>
|
||||
<artifactId>lavaplayer</artifactId>
|
||||
<version>1.3.34</version>
|
||||
<version>1.3.48</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.10.3</version>
|
||||
<version>2.11.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import com.bbn.hadder.core.*;
|
|||
import com.bbn.hadder.listener.*;
|
||||
import net.dv8tion.jda.api.OnlineStatus;
|
||||
import net.dv8tion.jda.api.entities.Activity;
|
||||
import net.dv8tion.jda.api.requests.GatewayIntent;
|
||||
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder;
|
||||
import net.dv8tion.jda.api.sharding.ShardManager;
|
||||
import net.dv8tion.jda.api.utils.ChunkingFilter;
|
||||
|
|
@ -51,11 +52,11 @@ public class Hadder {
|
|||
Rethink rethink = new Rethink(config);
|
||||
rethink.connect();
|
||||
|
||||
DefaultShardManagerBuilder builder = new DefaultShardManagerBuilder();
|
||||
DefaultShardManagerBuilder builder = DefaultShardManagerBuilder.create(GatewayIntent.getIntents(GatewayIntent.ALL_INTENTS));
|
||||
|
||||
builder.setAutoReconnect(true);
|
||||
builder.setShardsTotal(1);
|
||||
builder.setChunkingFilter(ChunkingFilter.ALL);
|
||||
builder.setChunkingFilter(ChunkingFilter.NONE);
|
||||
builder.setBulkDeleteSplittingEnabled(true);
|
||||
builder.setActivity(Activity.listening("to h.help"));
|
||||
builder.setStatus(OnlineStatus.DO_NOT_DISTURB);
|
||||
|
|
@ -127,7 +128,8 @@ public class Hadder {
|
|||
new ServerStatsCommand(),
|
||||
new ProfileCommand(),
|
||||
new CodeCommand(),
|
||||
new MoveAllCommand()), config, helpCommand);
|
||||
new MoveAllCommand(),
|
||||
new CoronaCommand()), config, helpCommand);
|
||||
|
||||
builder.addEventListeners(
|
||||
new MentionListener(rethink),
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import com.rethinkdb.gen.exc.ReqlNonExistenceError;
|
|||
import com.rethinkdb.gen.exc.ReqlOpFailedError;
|
||||
import com.rethinkdb.net.Connection;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
|
@ -72,13 +73,18 @@ public class Rethink {
|
|||
else return null;
|
||||
}
|
||||
|
||||
public Object getByID(String table, String wherevalue, String column) {
|
||||
return r.table(table).get(wherevalue).getField(column).run(conn);
|
||||
public Object getByID(String table, String where, String column) {
|
||||
return r.table(table).get(where).getField(column).run(conn);
|
||||
}
|
||||
|
||||
public JSONObject getObjectByID(String table, String id) {
|
||||
String response = r.table(table).get(id).toJson().run(conn);
|
||||
try {
|
||||
return new JSONObject(response);
|
||||
} catch (JSONException e) {
|
||||
System.out.println(response);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void insert(String table, Object object) {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public class CodeCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (args.length > 0) {
|
||||
OkHttpClient client = new OkHttpClient();
|
||||
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invite/" + args[0]).addHeader("Authorization", "Bot " + e.getConfig().getBotToken()).build();
|
||||
Request request = new Request.Builder().url("https://canary.discordapp.com/api/v6/invite/" + args[0] + "?with_counts=true").addHeader("Authorization", "Bot " + e.getConfig().getBotToken()).build();
|
||||
|
||||
try {
|
||||
Response response = client.newCall(request).execute();
|
||||
|
|
@ -45,6 +45,9 @@ public class CodeCommand implements Command {
|
|||
.addField("Verification Level", String.valueOf(json.getJSONObject("guild").getInt("verification_level")), true)
|
||||
.addField("Guild ID", json.getJSONObject("guild").getString("id"), true)
|
||||
.addBlankField(true)
|
||||
.addField("Members", String.valueOf(json.get("approximate_member_count")), true)
|
||||
.addBlankField(true)
|
||||
.addBlankField(true)
|
||||
.setThumbnail("https://cdn.discordapp.com/icons/" + json.getJSONObject("guild").getString("id") + "/" + json.getJSONObject("guild").getString("icon") + ".png")
|
||||
.build()).queue();
|
||||
} catch (JSONException ex) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* 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;
|
||||
|
||||
import com.bbn.hadder.commands.Command;
|
||||
import com.bbn.hadder.commands.CommandEvent;
|
||||
import com.bbn.hadder.utils.MessageEditor;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
import okhttp3.Response;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class CoronaCommand implements Command {
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent e) {
|
||||
OkHttpClient client = new OkHttpClient();
|
||||
Request request = new Request.Builder().url("https://corona.lmao.ninja/v2/all").build();
|
||||
|
||||
try {
|
||||
Response response = client.newCall(request).execute();
|
||||
JSONObject json = new JSONObject(response.body().string());
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
stringBuilder
|
||||
.append("`Confirmed cases:` **").append(json.get("cases")).append("**\n")
|
||||
.append("`Deaths:` **").append(json.get("deaths")).append("** \n")
|
||||
.append("`Recovered:` **").append(json.get("recovered")).append("** \n")
|
||||
.append("`Active cases:` **").append(json.get("active")).append("**");
|
||||
e.getTextChannel().sendMessage(e.getMessageEditor()
|
||||
.getMessage(MessageEditor.MessageType.INFO)
|
||||
.setDescription(stringBuilder)
|
||||
.build()).queue();
|
||||
} catch (IOException ex) {
|
||||
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR)
|
||||
.setTitle("API Error")
|
||||
.setDescription("Try again later!")
|
||||
.build()).queue();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] labels() {
|
||||
return new String[]{"corona"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description() {
|
||||
return "commands.misc.corona.help.description";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String usage() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String example() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,52 +1,76 @@
|
|||
/*
|
||||
* @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;
|
||||
|
||||
import com.bbn.hadder.commands.Command;
|
||||
import com.bbn.hadder.commands.CommandEvent;
|
||||
import com.bbn.hadder.core.Perm;
|
||||
import com.bbn.hadder.core.Perms;
|
||||
import net.dv8tion.jda.api.EmbedBuilder;
|
||||
import net.dv8tion.jda.api.Permission;
|
||||
import net.dv8tion.jda.api.entities.Member;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
|
||||
public class MoveAllCommand implements Command {
|
||||
import com.bbn.hadder.utils.MessageEditor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
@Perms(Perm.VOICE_MOVE_OTHERS)
|
||||
public class MoveAllCommand implements Command {
|
||||
|
||||
@Override
|
||||
public void executed(String[] args, CommandEvent e) {
|
||||
if (args.length == 2) {
|
||||
int count = Objects.requireNonNull(e.getGuild().getVoiceChannelById(args[0])).getMembers().size();
|
||||
Objects.requireNonNull(e.getGuild().getVoiceChannelById(args[0])).getMembers().forEach(
|
||||
member -> {
|
||||
e.getGuild().moveVoiceMember(member, e.getGuild().getVoiceChannelById(args[1])).queue();
|
||||
}
|
||||
if (StringUtils.isNumeric(args[0]) && args[0].length() == 18) {
|
||||
if (StringUtils.isNumeric(args[1]) && args[1].length() == 18) {
|
||||
if (!args[0].equals(args[1])) {
|
||||
int count = e.getGuild().getVoiceChannelById(args[0]).getMembers().size();
|
||||
e.getGuild().getVoiceChannelById(args[0]).getMembers().forEach(
|
||||
member -> e.getGuild().moveVoiceMember(member, e.getGuild().getVoiceChannelById(args[1])).queue()
|
||||
);
|
||||
e.getChannel().sendMessage(new EmbedBuilder().setTitle("Successfully Moved!").setDescription("I moved " +
|
||||
count + " Members. Have fun!").build()).queue();
|
||||
e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO,
|
||||
"commands.misc.moveall.success.title", "",
|
||||
"commands.misc.moveall.success.description", String.valueOf(count))
|
||||
.build()).queue();
|
||||
} else {
|
||||
e.getHelpCommand().sendHelp(this, e);
|
||||
e.getChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
|
||||
"commands.misc.moveall.error.equals.title",
|
||||
"commands.misc.moveall.error.equals.description")
|
||||
.build()).queue();
|
||||
}
|
||||
} else {
|
||||
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
|
||||
"commands.misc.moveall.error.target.int.title",
|
||||
"commands.misc.moveall.error.target.int.description").build()).queue();
|
||||
}
|
||||
} else {
|
||||
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
|
||||
"commands.misc.moveall.error.source.int.title",
|
||||
"commands.misc.moveall.error.source.int.description").build()).queue();
|
||||
}
|
||||
} else e.getHelpCommand().sendHelp(this, e);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String[] labels() {
|
||||
return new String[]{"moveall", "move-all"};
|
||||
return new String[]{"moveall", "move-all", "ma"};
|
||||
}
|
||||
|
||||
@Override
|
||||
public String description() {
|
||||
return "Moves All users in channel1 to channel2";
|
||||
return "commands.misc.moveall.help.description";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String usage() {
|
||||
return "[channel1] [channel2]";
|
||||
return "[source-channel] [target-channel]";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -86,16 +86,13 @@ public class RegionChangeCommand implements Command {
|
|||
case "us-south":
|
||||
setRegion(Region.US_SOUTH, "US South", e);
|
||||
break;
|
||||
case "south-korea":
|
||||
setRegion(Region.SOUTH_KOREA, "South Korea", e);
|
||||
break;
|
||||
default:
|
||||
e.getTextChannel().sendMessage(
|
||||
e.getMessageEditor().getMessage(
|
||||
MessageEditor.MessageType.INFO,
|
||||
"commands.moderation.regionchange.regions.title",
|
||||
"")
|
||||
.setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london` `south korea`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`")
|
||||
.setDescription("**LOCKED:**\n`amsterdam` `frankfurt` `eu-west` `eu-central` `london`\n\n**UNLOCKED:**\n`europe` `brazil` `hongkong` `india` `japan` `singapore` `south-africa` `sydney` `us-central` `us-east` `us-west` `us-south`")
|
||||
.build()).queue();
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ public class PauseCommand implements Command {
|
|||
.build()).queue();
|
||||
} else {
|
||||
e.getTextChannel().sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.ERROR,
|
||||
"commands.music.pause.error.paused.title",
|
||||
"commands.music.pause.error.paused.description")
|
||||
"commands.music.pause.error.paused.title", "",
|
||||
"commands.music.pause.error.paused.description", e.getRethinkServer().getPrefix())
|
||||
.build()).queue();
|
||||
}
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public class AnalCommand implements Command {
|
|||
@Override
|
||||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
.setImage(url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class BoobsCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class CumCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class FeetCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class FingeringCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class LickingCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class PornCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class PussyCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class RandomPornCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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()
|
||||
.sendMessage(e.getMessageEditor().getMessage(MessageEditor.MessageType.INFO)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class SoloCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class SpankCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public class TransCommand implements Command {
|
|||
public void executed(String[] args, CommandEvent e) {
|
||||
if (e.getTextChannel().isNSFW()) {
|
||||
|
||||
String url = Http.getNSFW("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)
|
||||
.setAuthor(e.getMessageEditor().getTerm("commands.nsfw.gif.error.title"), url)
|
||||
|
|
|
|||
|
|
@ -33,14 +33,13 @@ public class BotList {
|
|||
private static String MythicalBotList = "https://mythicalbots.xyz/api/bot/637002314162372639";
|
||||
private static String BotsForDiscord = "https://botsfordiscord.com/api/bot/637002314162372639";
|
||||
private static String DiscordBotList = "https://discordbotlist.com/api/bots/637002314162372639/stats";
|
||||
private static String DiscordBoats = "https://discord.boats/api/bot/637002314162372639";
|
||||
private static String DiscordBoats = "https://discord.boats/api/v2/bot/637002314162372639";
|
||||
private static String YetAnotherBotList = "https://yabl.xyz/api/bot/637002314162372639/stats";
|
||||
private static String DiscordExtremeList = "https://api.discordextremelist.xyz/v1/bot/637002314162372639";
|
||||
private static String DiscordBots = "https://top.gg/api/bots/637002314162372639/stats";
|
||||
private static String BotListSpace = "https://api.botlist.space/v1/bots/637002314162372639";
|
||||
private static String DiscordBots2 = "https://discord.bots.gg/api/v1/bots/637002314162372639/stats";
|
||||
private static String CloudList = "https://www.cloudlist.xyz/api/stats/637002314162372639";
|
||||
private static String ArcaneBotCenter = "https://arcane-botcenter.xyz/api/637002314162372639/stats";
|
||||
private static String ArcaneBotCenter = "https://arcane-center.xyz/api/637002314162372639/stats";
|
||||
|
||||
private Config config;
|
||||
|
||||
|
|
@ -197,21 +196,6 @@ public class BotList {
|
|||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// CloudList
|
||||
|
||||
Request cloudlist = new Request.Builder()
|
||||
.url(CloudList)
|
||||
.post(body)
|
||||
.addHeader("Authorization", config.getCloudListToken())
|
||||
.build();
|
||||
|
||||
try {
|
||||
new OkHttpClient().newCall(cloudlist).execute().close();
|
||||
System.out.println("Successfully posted count to the CloudList!");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// Arcane Bot Center
|
||||
|
||||
Request arcane = new Request.Builder()
|
||||
|
|
|
|||
|
|
@ -98,6 +98,10 @@ commands.misc.code.success.description = Diese Nachricht enthält einige Informa
|
|||
commands.misc.code.error.title = Code nicht gefunden
|
||||
commands.misc.code.error.description = Ich kann den angegebenen Einladungscode nicht finden.
|
||||
commands.misc.code.help.description = Shows information about a invite code.
|
||||
commands.misc.moveall.success.title = Successfully moved
|
||||
commands.misc.moveall.success.description = I successfully moved %extra% members. Have fun\!
|
||||
commands.misc.moveall.help.description = Moves all users in the source channel to the target channel.
|
||||
commands.misc.corona.help.description = Show the newest stats about COVID-19
|
||||
|
||||
commands.moderation.ban.success.title = Erfolgreich gebannt
|
||||
commands.moderation.ban.success.description = Ich habe %extra% erfolgreich gebannt
|
||||
|
|
|
|||
|
|
@ -98,6 +98,16 @@ commands.misc.code.success.description = This message contains some information
|
|||
commands.misc.code.error.title = Code not found
|
||||
commands.misc.code.error.description = I can't find the specified invite code.
|
||||
commands.misc.code.help.description = Shows information about a invite code.
|
||||
commands.misc.moveall.success.title = Successfully moved
|
||||
commands.misc.moveall.success.description = I successfully moved %extra% members. Have fun\!
|
||||
commands.misc.moveall.error.equals.title = Not twice
|
||||
commands.misc.moveall.error.equals.description = The first voice channel equals the second. You have to specify two different voice channels.
|
||||
commands.misc.moveall.error.source.int.title = Invalid ID
|
||||
commands.misc.moveall.error.source.int.description = You didn't specified a ID as the source channel.
|
||||
commands.misc.moveall.error.target.int.title = Invalid ID
|
||||
commands.misc.moveall.error.target.int.description = You didn't specified a ID as the target channel.
|
||||
commands.misc.moveall.help.description = Moves all users in the source channel to the target channel.
|
||||
commands.misc.corona.help.description = Show the newest stats about COVID-19
|
||||
|
||||
commands.moderation.ban.success.title = Successfully banned
|
||||
commands.moderation.ban.success.description = I successfully baned %extra%
|
||||
|
|
@ -266,7 +276,7 @@ commands.music.volume.help.description = Change the volume of the music.
|
|||
commands.music.pause.success.title = Successfully paused
|
||||
commands.music.pause.success.description = I successfully paused the played song.
|
||||
commands.music.pause.error.paused.title = Already paused
|
||||
commands.music.pause.error.paused.description = The song is already paused.
|
||||
commands.music.pause.error.paused.description = The song is already paused. You can continue playing it with %extra%play
|
||||
commands.music.pause.error.connected.title = No channel
|
||||
commands.music.pause.error.connected.description = You have to be in the same voice channel as the bot to pause the song.
|
||||
commands.music.pause.help.description = Pause the playing song.
|
||||
|
|
|
|||
|
|
@ -98,6 +98,10 @@ commands.misc.code.success.description = This message contains some information
|
|||
commands.misc.code.error.title = Code not found
|
||||
commands.misc.code.error.description = I can't find the specified invite code.
|
||||
commands.misc.code.help.description = Shows information about a invite code.
|
||||
commands.misc.moveall.success.title = Successfully moved
|
||||
commands.misc.moveall.success.description = I successfully moved %extra% members. Have fun\!
|
||||
commands.misc.moveall.help.description = Moves all users in the source channel to the target channel.
|
||||
commands.misc.corona.help.description = Show the newest stats about COVID-19
|
||||
|
||||
commands.moderation.ban.success.title = Successfully banned
|
||||
commands.moderation.ban.success.description = I successfully baned %extra%
|
||||
|
|
|
|||
|
|
@ -98,6 +98,10 @@ commands.misc.code.success.description = This message contains some information
|
|||
commands.misc.code.error.title = Code not found
|
||||
commands.misc.code.error.description = I can't find the specified invite code.
|
||||
commands.misc.code.help.description = Shows information about a invite code.
|
||||
commands.misc.moveall.success.title = Successfully moved
|
||||
commands.misc.moveall.success.description = I successfully moved %extra% members. Have fun\!
|
||||
commands.misc.moveall.help.description = Moves all users in the source channel to the target channel.
|
||||
commands.misc.corona.help.description = Show the newest stats about COVID-19
|
||||
|
||||
commands.moderation.ban.success.title = Successfully banned
|
||||
commands.moderation.ban.success.description = I successfully baned %extra%
|
||||
|
|
|
|||
|
|
@ -98,6 +98,10 @@ commands.misc.code.success.description = This message contains some information
|
|||
commands.misc.code.error.title = Code not found
|
||||
commands.misc.code.error.description = I can't find the specified invite code.
|
||||
commands.misc.code.help.description = Shows information about a invite code.
|
||||
commands.misc.moveall.success.title = Successfully moved
|
||||
commands.misc.moveall.success.description = I successfully moved %extra% members. Have fun\!
|
||||
commands.misc.moveall.help.description = Moves all users in the source channel to the target channel.
|
||||
commands.misc.corona.help.description = Show the newest stats about COVID-19
|
||||
|
||||
commands.moderation.ban.success.title = Successfully banned
|
||||
commands.moderation.ban.success.description = I successfully baned %extra%
|
||||
|
|
|
|||
|
|
@ -98,6 +98,10 @@ commands.misc.code.success.description = This message contains some information
|
|||
commands.misc.code.error.title = Code not found
|
||||
commands.misc.code.error.description = I can't find the specified invite code.
|
||||
commands.misc.code.help.description = Shows information about a invite code.
|
||||
commands.misc.moveall.success.title = Successfully moved
|
||||
commands.misc.moveall.success.description = I successfully moved %extra% members. Have fun\!
|
||||
commands.misc.moveall.help.description = Moves all users in the source channel to the target channel.
|
||||
commands.misc.corona.help.description = Show the newest stats about COVID-19
|
||||
|
||||
commands.moderation.ban.success.title = Successfully banned
|
||||
commands.moderation.ban.success.description = I successfully baned %extra%
|
||||
|
|
|
|||
|
|
@ -98,6 +98,10 @@ commands.misc.code.success.description = This message contains some information
|
|||
commands.misc.code.error.title = Code not found
|
||||
commands.misc.code.error.description = I can't find the specified invite code.
|
||||
commands.misc.code.help.description = Shows information about a invite code.
|
||||
commands.misc.moveall.success.title = Successfully moved
|
||||
commands.misc.moveall.success.description = I successfully moved %extra% members. Have fun\!
|
||||
commands.misc.moveall.help.description = Moves all users in the source channel to the target channel.
|
||||
commands.misc.corona.help.description = Show the newest stats about COVID-19
|
||||
|
||||
commands.moderation.ban.success.title = Successfully banned
|
||||
commands.moderation.ban.success.description = I successfully baned %extra%
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue