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 daysdatabase.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>"
auto_publish_announcements: ["<channel_id>"]default_purge_amount: The default amount of messages to purge when thepurgecommand 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.auto_publish_announcements: An array of announcement channel IDs where the client will automatically publish messages to other servers.
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 ascopingproperty.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