A global configuration file must be present in the root directory of the project. This file must be named azalea.cfg.yml
and must contain the following properties:
database:
messages:
insert_cron: "0 0 * * *" # Every day at midnight
delete_cron: "0 */6 * * *" # Every 6 hours
ttl: 2419200000 # 28 days
database.messages.insert_cron
: The cron expression for the insertion of cached messages into the database.database.messages.delete_cron
: The cron expression for the deletion of messages older than 12 days from the database.database.messages.ttl
: The time-to-live (TTL) for messages in the database. Messages older than this value will be removed from the database.
Note
❗ Properties marked with an exclamation mark are required
Each guild must have a configuration file in the configs
directory (see the example file for more info). The file must be named <guild_id>.yml
and must contain the following properties:
Non-object properties that are not nested within other properties.
default_purge_amount: 100
response_ttl: 3000 # 3 seconds
notification_channel: "<channel_id>"
media_conversion_channel: "<channel_id>"
default_purge_amount
: The default amount of messages to purge when thepurge
command is used without an amount.response_ttl
: The time in milliseconds that the client will wait before deleting a temporary response.notification_channel
: ID of the channel where the client will send notifications (such as a ban being executed in a channel with ephemeral responses)media_conversion_channel
: ID of the channel where the client will log uploaded media (without message content) and respond with a link to the log - media logs are required for this to work.
Logging-related properties.
logging:
default_scoping:
include_channels: []
exclude_channels: []
logs:
- events: ["<logging_event>"]
channel_id: "<channel_id>"
scoping:
include_channels: []
exclude_channels: []
default_scoping
/scoping
- Scoping applied to all logging events that do not have ascoping
property.include_channels
- Whitelist channels for logging events, if this array is not empty, only channels specified here will trigger logging events.exclude_channels
- Blacklist channels from triggering logging events
- ❗
logs[].channel_id
- ID of the channel where the client should log the specified events. - ❗
logs[].events
- An array of logging events that this rule should listen for. The following values can be specified:message_bulk_delete
- Message purging/bulk deletionmessage_delete
- Regular message deletionmessage_update
- Message editsmessage_reaction_add
- Details of the first reaction added to a messageinteraction_create
- Interaction usagevoice_join
- Joining a voice channelvoice_leave
- Leaving a voice channelvoice_move
- Moving from one voice channel to anotherthread_create
- Thread creationthread_delete
- Thread deletionthread_update
- Modifying a thread's datamedia_store
- Storing mediainfraction_create
- Moderating a userinfraction_archive
- Archiving an infractioninfraction_restore
- Restoring an archived infractioninfraction_update
- Modifying an infraction (excludes archiving)ban_request_approve
- Approving a ban requestban_request_deny
- Denying a ban requestmute_request_approve
- Approving a mute requestmute_request_deny
- Denying a mute requestmessage_report_create
- Creating a message reportmessage_report_resolve
- Resolving a message report (including quick actions)user_report_create
- Creating a user reportuser_report_resolve
- Resolving a user reportuser_report_update
- Report initiator modifying the report reason