sidequest_common.models.guild#

Per-guild configuration.

Attributes#

Classes#

GuildConfig

Settings for one Discord guild. Created with defaults the first time the bot asks for it.

Module Contents#

class sidequest_common.models.guild.GuildConfig#

Bases: advanced_alchemy.base.UUIDAuditBase

Settings for one Discord guild. Created with defaults the first time the bot asks for it.

announcement_channel_id: sqlalchemy.orm.Mapped[int | None]#

Where the bot posts pending GuildAnnouncement rows queued for Discord; officers set it.

auto_role_id: sqlalchemy.orm.Mapped[int | None]#
automod_block_invites: sqlalchemy.orm.Mapped[bool]#
automod_enabled: sqlalchemy.orm.Mapped[bool]#
automod_exempt_channel_ids: sqlalchemy.orm.Mapped[list[int]]#
automod_exempt_role_ids: sqlalchemy.orm.Mapped[list[int]]#
automod_max_mentions: sqlalchemy.orm.Mapped[int]#
automod_spam_messages: sqlalchemy.orm.Mapped[int]#
automod_spam_seconds: sqlalchemy.orm.Mapped[int]#
automod_timeout_seconds: sqlalchemy.orm.Mapped[int]#
away_role_id: sqlalchemy.orm.Mapped[int | None]#
badge_channel_id: sqlalchemy.orm.Mapped[int | None]#
badge_role_ids: sqlalchemy.orm.Mapped[dict[str, int]]#

Discord role id per badge id, created and kept by the bot’s badges plugin.

battlenet_role_id: sqlalchemy.orm.Mapped[int | None]#
events_forum_channel_id: sqlalchemy.orm.Mapped[int | None]#
forever_feed_channel_id: sqlalchemy.orm.Mapped[int | None]#

Where the bot posts WoW: Forever blue posts and Wowhead news; officers set it.

gate_role_id: sqlalchemy.orm.Mapped[int | None]#
guild_id: sqlalchemy.orm.Mapped[int]#
level_roles_stack: sqlalchemy.orm.Mapped[bool]#
level_up_channel_id: sqlalchemy.orm.Mapped[int | None]#
level_up_message: sqlalchemy.orm.Mapped[str]#
leveling_enabled: sqlalchemy.orm.Mapped[bool]#
linked_role_id: sqlalchemy.orm.Mapped[int | None]#
log_channel_id: sqlalchemy.orm.Mapped[int | None]#
no_xp_channel_ids: sqlalchemy.orm.Mapped[list[int]]#
no_xp_role_ids: sqlalchemy.orm.Mapped[list[int]]#
roster_role_id: sqlalchemy.orm.Mapped[int | None]#
signup_notice_channel_id: sqlalchemy.orm.Mapped[int | None]#
weekly_board_channel_id: sqlalchemy.orm.Mapped[int | None]#
weekly_board_last_week: sqlalchemy.orm.Mapped[str | None]#

ISO date (YYYY-MM-DD) of the Monday whose board was last posted; prevents double-posting.

welcome_channel_id: sqlalchemy.orm.Mapped[int | None]#
welcome_message: sqlalchemy.orm.Mapped[str]#
xp_cooldown_seconds: sqlalchemy.orm.Mapped[int]#
xp_max: sqlalchemy.orm.Mapped[int]#
xp_min: sqlalchemy.orm.Mapped[int]#
sidequest_common.models.guild.DEFAULT_LEVEL_UP_MESSAGE = 'GG {mention}, you just advanced to level {level}!'#
sidequest_common.models.guild.DEFAULT_WELCOME_MESSAGE = 'Welcome to **{guild}**, {mention}! Pull up a seat by the fire, adventurer.'#