HidekoBot/src/main/java/wtf/beatrice/hidekobot/Configuration.java

74 lines
1.8 KiB
Java
Raw Normal View History

2022-08-26 00:13:06 +02:00
package wtf.beatrice.hidekobot;
import wtf.beatrice.hidekobot.listeners.MessageLogger;
2022-08-26 00:13:06 +02:00
public class Configuration
{
private static boolean verbose = false;
private static MessageLogger verbosityLogger;
2022-08-26 00:13:06 +02:00
// todo: allow people to set their own user id
private static final long botOwnerId = 979809420714332260L;
2022-11-20 16:07:04 +01:00
private final static String defaultInviteLink =
"https://discord.com/api/oauth2/authorize?client_id=%userid%&scope=bot+applications.commands&permissions=8";
private static String botUserId = "";
2022-08-26 00:13:06 +02:00
/**
* Checks if the bot has been started with the verbose argument.
*
* @return a boolean which is true if the bot is in verbose-mode
*/
2022-08-26 00:13:06 +02:00
public static boolean isVerbose() { return verbose; }
/**
* Set the bot's verbosity status at runtime.
* This also registers or unregisters the message-logger listener.
*
* @param v the verbosity boolean value
*/
public static void setVerbose(boolean v)
{
verbose = v;
if(v)
{
if(verbosityLogger == null)
{
verbosityLogger = new MessageLogger();
}
2022-08-26 00:13:06 +02:00
HidekoBot.getAPI().addEventListener(verbosityLogger);
} else {
if(verbosityLogger != null)
{
HidekoBot.getAPI().removeEventListener(verbosityLogger);
verbosityLogger = null;
}
}
}
/**
2022-11-20 06:07:25 +01:00
* Get the bot owner's profile id.
*
2022-11-20 06:07:25 +01:00
* @return a long of the account's id
*/
public static long getBotOwnerId() { return botOwnerId; }
2022-11-20 16:07:04 +01:00
public static void seBotUserId(String id)
{
botUserId = id;
}
public static String getBotUserId() { return botUserId; }
public static String getInviteUrl() {
return defaultInviteLink.replace("%userid%", botUserId);
}
2022-08-26 00:13:06 +02:00
}