feat(config): Split mod and admin config.
This commit is contained in:
@@ -16,7 +16,7 @@ from meta.app import appname
|
||||
from meta.monitor import ComponentMonitor, ComponentStatus, StatusLevel
|
||||
from utils.lib import utc_now, error_embed
|
||||
|
||||
from wards import low_management_ward, sys_admin_ward
|
||||
from wards import low_management_ward, sys_admin_ward, low_management_iward
|
||||
from . import babel, logger
|
||||
from .data import TextTrackerData
|
||||
|
||||
@@ -116,7 +116,7 @@ class TextTrackerCog(LionCog):
|
||||
"Attempting to load the TextTrackerCog before ConfigCog! Failed to crossload configuration group."
|
||||
)
|
||||
else:
|
||||
self.crossload_group(self.configure_group, configcog.configure_group)
|
||||
self.crossload_group(self.configure_group, configcog.config_group)
|
||||
|
||||
if self.bot.is_ready():
|
||||
await self.initialise()
|
||||
@@ -318,7 +318,6 @@ class TextTrackerCog(LionCog):
|
||||
xp_per_period=TextTrackerSettings.XPPerPeriod._desc,
|
||||
word_xp=TextTrackerSettings.WordXP._desc,
|
||||
)
|
||||
@appcmds.default_permissions(manage_guild=True)
|
||||
@low_management_ward
|
||||
async def configure_text_tracking_cmd(self, ctx: LionContext,
|
||||
xp_per_period: Optional[appcmds.Range[int, 0, 2**15]] = None,
|
||||
|
||||
@@ -11,6 +11,7 @@ from meta.sharding import THIS_SHARD
|
||||
from meta.logger import log_wrap
|
||||
from core.data import CoreData
|
||||
from babel.translator import ctx_translator
|
||||
from wards import low_management_iward
|
||||
|
||||
from . import babel, logger
|
||||
from .data import TextTrackerData
|
||||
@@ -28,7 +29,8 @@ class TextTrackerSettings(SettingGroup):
|
||||
"""
|
||||
class XPPerPeriod(ModelData, IntegerSetting):
|
||||
setting_id = 'xp_per_period'
|
||||
_set_cmd = 'configure message_exp'
|
||||
_set_cmd = 'config message_exp'
|
||||
_write_ward = low_management_iward
|
||||
|
||||
_display_name = _p('guildset:xp_per_period', "xp_per_5min")
|
||||
_desc = _p(
|
||||
@@ -60,7 +62,8 @@ class TextTrackerSettings(SettingGroup):
|
||||
|
||||
class WordXP(ModelData, IntegerSetting):
|
||||
setting_id = 'word_xp'
|
||||
_set_cmd = 'configure message_exp'
|
||||
_set_cmd = 'config message_exp'
|
||||
_write_ward = low_management_iward
|
||||
|
||||
_display_name = _p('guildset:word_xp', "xp_per_100words")
|
||||
_desc = _p(
|
||||
@@ -91,6 +94,7 @@ class TextTrackerSettings(SettingGroup):
|
||||
|
||||
class UntrackedTextChannels(ListData, ChannelListSetting):
|
||||
setting_id = 'untracked_text_channels'
|
||||
_write_ward = low_management_iward
|
||||
|
||||
_display_name = _p('guildset:untracked_text_channels', "untracked_text_channels")
|
||||
_desc = _p(
|
||||
|
||||
@@ -35,6 +35,7 @@ class TextTrackerConfigUI(ConfigUI):
|
||||
async def untracked_channels_menu(self, selection: discord.Interaction, selected):
|
||||
await selection.response.defer()
|
||||
setting = self.instances[2]
|
||||
await setting.interaction_check(setting.parent_id, selection)
|
||||
setting.value = selected.values
|
||||
await setting.write()
|
||||
|
||||
@@ -86,7 +87,7 @@ class TextTrackerConfigUI(ConfigUI):
|
||||
class TextTrackerDashboard(DashboardSection):
|
||||
section_name = _p(
|
||||
'dash:text_tracking|title',
|
||||
"Message XP configuration ({commands[configure message_exp]})",
|
||||
"Message XP configuration ({commands[config message_exp]})",
|
||||
)
|
||||
_option_name = _p(
|
||||
"dash:text_tracking|dropdown|placeholder",
|
||||
|
||||
Reference in New Issue
Block a user