Bat/src/main/java/cc/fascinated/bat/command/CommandInfo.java
Liam 8526036044
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 1m59s
add scoresaber score summary
2024-07-16 14:35:02 +01:00

74 lines
1.7 KiB
Java

package cc.fascinated.bat.command;
import net.dv8tion.jda.api.Permission;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Annotated at the top of a class to define
* the default values for a {@link BatCommand}.
*
* @author Fascinated (fascinated7)
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface CommandInfo {
/**
* The name of the command
*
* @return the name of the command
*/
String name();
/**
* The description of the command
*
* @return the description of the command
*/
String description() default "No description provided.";
/**
* If the command is guild only
*
* @return if the command is guild only
*/
boolean guildOnly() default true;
/**
* If the command can be user installed
*
* @return if the command is user installable
*/
boolean userInstall() default false;
/**
* If the command can be executed with a prefix
*
* @return if the command can be executed with a prefix
*/
boolean prefixAllowed() default false;
/**
* The required permissions for the command
*
* @return the required permissions for the command
*/
Permission[] requiredPermissions() default {};
/**
* The category of the command
*
* @return the category of the command
*/
Category category() default Category.GENERAL;
/**
* If the command is bot owner only
*
* @return if the command is bot owner only
*/
boolean botOwnerOnly() default false;
}