# Packages

No description provided by the author
No description provided by the author
No description provided by the author

# Functions

DeinitCommandHandling unregisters the event Handler that is registered by InitCommandHandling.
GetEntityManager returns the currently active EntityManager.
GetHandler returns a Handler by its fully qualified name (id).
GetHandlerName returns the name of a Handler for a component.
Init initializes the api.
InitCommandHandling initializes the command handling by registering the necessary event Handler.
IsComponentEnabled checks if a specific component is currently enabled for a specific guild.
IsCoreComponent checks whether the passed component is a core component or not.
NewEntityManager creates a new EntityManager using the given services.Logger and services.DatabaseAccess instances.
ProcessSubCommands is an easy way to handle sub-commands and sub-command-groups.
RegisterComponent adds the given Component to the list of registered components.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
CoreComponentPrefix is the prefix put in front of components that cannot be managed by server owners, as they are important core components.
DefaultEmbedColor is the default color that should be used for embeds send by the bot.

# Variables

Components holds all available components that have been registered.

# Structs

AssignedEventHandler holds the necessary data to handle events in the bot.
BotAuditLogger represents the service type to do bot audit logging.
Command is a struct that acts as a container for discordgo.ApplicationCommand and the assigned command Handler.
Component is the base structure that must be initialized to create a new component.
ComponentHandlerContainer is a helper that eases registration of event handlers.
DiscordGoApiWrapper is a wrapper around some crucial discordgo functions.
DiscordGoStatusManager holds the available status of the bot and manages the cycling of these.
EntityManager is a struct embedded by GormDatabaseAccessor that holds the instances of the entity specific entity managers.
SimpleBotStatus is a simplified version of discordgo.UpdateStatusData that can be used to simply change the status of the bot to something else.
SlashCommandManager is a type that is used to hold the owner that keeps the information about the component used by the slash Command manager methods.
State holds the state of a component.

# Interfaces

AssignedEventHandlerAccess is an interface that provides access to some fields of AssignedEventHandler through getters.
AuditLogConfigEntityManager is an entity manager that provides functionality for entities.AuditLogConfig CRUD operations.
AuditLogEntityManager is an entity manager that provides functionality for entities.AuditLog CRUD operations.
CommonSlashCommandManager provides a standardized interface how slash commands should be created and registered in the application.
ComponentHandlerManager is the interface that defines all methods for event handler management.
DiscordApiWrapper provides some useful functions of the discord API, that might be needed without an ongoing event.
No description provided by the author
GlobalComponentStatusEntityManager is an entity manager that provides functionality for entities.GlobalComponentStatus CRUD operations.
GuildComponentStatusEntityManager is an entity manager that provides functionality for entities.GuildComponentStatus CRUD operations.
GuildEntityManager is an entity manager that provides functionality for entities.Guild CRUD operations.
RegisteredComponentEntityManager is an entity manager that provides functionality for entities.RegisteredComponent CRUD operations.
RegistrableComponent is the interface that allows a component to be initialized and registered.
ServiceManager is a simple interface that defines the methods that provide the APIs features, like Logger.
StatusManager manages the available status which are set fopr the bot.

# Type aliases

Categories holds a list of Categories.
Category is used to categorize commands and components into logical groups.
HandlerName is the name of a specific handler that belongs to a specific component.