feat(config): Split mod and admin config.
This commit is contained in:
@@ -46,7 +46,7 @@ class MemberAdminCog(LionCog):
|
||||
"Configuration command cannot be crossloaded."
|
||||
)
|
||||
else:
|
||||
self.crossload_group(self.configure_group, configcog.configure_group)
|
||||
self.crossload_group(self.configure_group, configcog.config_group)
|
||||
|
||||
# ----- Cog API -----
|
||||
async def absent_remove_role(self, guildid, userid, roleid):
|
||||
|
||||
@@ -9,6 +9,7 @@ from settings import ListData, ModelData
|
||||
from settings.groups import SettingGroup
|
||||
from settings.setting_types import BoolSetting, ChannelSetting, RoleListSetting
|
||||
from utils.lib import recurse_map, replace_multiple, tabulate
|
||||
from wards import low_management_iward, high_management_iward
|
||||
|
||||
from . import babel
|
||||
from .data import MemberAdminData
|
||||
@@ -36,6 +37,7 @@ _greeting_subkey_desc = {
|
||||
class MemberAdminSettings(SettingGroup):
|
||||
class GreetingChannel(ModelData, ChannelSetting):
|
||||
setting_id = 'greeting_channel'
|
||||
_write_ward = low_management_iward
|
||||
|
||||
_display_name = _p('guildset:greeting_channel', "welcome_channel")
|
||||
_desc = _p(
|
||||
@@ -87,6 +89,7 @@ class MemberAdminSettings(SettingGroup):
|
||||
|
||||
class GreetingMessage(ModelData, MessageSetting):
|
||||
setting_id = 'greeting_message'
|
||||
_write_ward = low_management_iward
|
||||
|
||||
_display_name = _p(
|
||||
'guildset:greeting_message', "welcome_message"
|
||||
@@ -209,6 +212,7 @@ class MemberAdminSettings(SettingGroup):
|
||||
|
||||
class ReturningMessage(ModelData, MessageSetting):
|
||||
setting_id = 'returning_message'
|
||||
_write_ward = low_management_iward
|
||||
|
||||
_display_name = _p(
|
||||
'guildset:returning_message', "returning_message"
|
||||
@@ -335,6 +339,7 @@ class MemberAdminSettings(SettingGroup):
|
||||
|
||||
class Autoroles(ListData, RoleListSetting):
|
||||
setting_id = 'autoroles'
|
||||
_write_ward = high_management_iward
|
||||
|
||||
_display_name = _p(
|
||||
'guildset:autoroles', "autoroles"
|
||||
@@ -357,6 +362,7 @@ class MemberAdminSettings(SettingGroup):
|
||||
|
||||
class BotAutoroles(ListData, RoleListSetting):
|
||||
setting_id = 'bot_autoroles'
|
||||
_write_ward = high_management_iward
|
||||
|
||||
_display_name = _p(
|
||||
'guildset:bot_autoroles', "bot_autoroles"
|
||||
@@ -379,6 +385,7 @@ class MemberAdminSettings(SettingGroup):
|
||||
class RolePersistence(ModelData, BoolSetting):
|
||||
setting_id = 'role_persistence'
|
||||
_event = 'guildset_role_persistence'
|
||||
_write_ward = low_management_iward
|
||||
|
||||
_display_name = _p('guildset:role_persistence', "role_persistence")
|
||||
_desc = _p(
|
||||
|
||||
@@ -45,6 +45,7 @@ class MemberAdminUI(ConfigUI):
|
||||
"""
|
||||
await selection.response.defer(thinking=True, ephemeral=True)
|
||||
setting = self.get_instance(Settings.GreetingChannel)
|
||||
await setting.interaction_check(setting.parent_id, selection)
|
||||
setting.value = selected.values[0] if selected.values else None
|
||||
await setting.write()
|
||||
await selection.delete_original_response()
|
||||
@@ -73,6 +74,7 @@ class MemberAdminUI(ConfigUI):
|
||||
await equippable_role(self.bot, role, selection.user)
|
||||
|
||||
setting = self.get_instance(Settings.Autoroles)
|
||||
await setting.interaction_check(setting.parent_id, selection)
|
||||
setting.value = selected.values
|
||||
await setting.write()
|
||||
# Instance hooks will update the menu
|
||||
@@ -102,6 +104,7 @@ class MemberAdminUI(ConfigUI):
|
||||
await equippable_role(self.bot, role, selection.user)
|
||||
|
||||
setting = self.get_instance(Settings.BotAutoroles)
|
||||
await setting.interaction_check(setting.parent_id, selection)
|
||||
setting.value = selected.values
|
||||
await setting.write()
|
||||
# Instance hooks will update the menu
|
||||
@@ -131,6 +134,7 @@ class MemberAdminUI(ConfigUI):
|
||||
await press.response.defer(thinking=True, ephemeral=True)
|
||||
t = self.bot.translator.t
|
||||
setting = self.get_instance(Settings.GreetingMessage)
|
||||
await setting.interaction_check(setting.parent_id, press)
|
||||
|
||||
value = setting.value
|
||||
if value is None:
|
||||
@@ -173,6 +177,7 @@ class MemberAdminUI(ConfigUI):
|
||||
await press.response.defer(thinking=True, ephemeral=True)
|
||||
t = self.bot.translator.t
|
||||
setting = self.get_instance(Settings.ReturningMessage)
|
||||
await setting.interaction_check(setting.parent_id, press)
|
||||
greeting = self.get_instance(Settings.GreetingMessage)
|
||||
|
||||
value = setting.value
|
||||
@@ -254,7 +259,7 @@ class MemberAdminUI(ConfigUI):
|
||||
class MemberAdminDashboard(DashboardSection):
|
||||
section_name = _p(
|
||||
"dash:member_admin|title",
|
||||
"Greetings and Initial Roles ({commands[configure welcome]})"
|
||||
"Greetings and Initial Roles ({commands[admin config welcome]})"
|
||||
)
|
||||
_option_name = _p(
|
||||
"dash:member_admin|dropdown|placeholder",
|
||||
@@ -278,7 +283,7 @@ class MemberAdminDashboard(DashboardSection):
|
||||
page.add_field(
|
||||
name=t(_p(
|
||||
'dash:member_admin|section:greeting_messages|name',
|
||||
"Greeting Messages ({commands[configure welcome]})"
|
||||
"Greeting Messages ({commands[admin config welcome]})"
|
||||
)).format(commands=self.bot.core.mention_cache),
|
||||
value=table,
|
||||
inline=False
|
||||
@@ -289,7 +294,7 @@ class MemberAdminDashboard(DashboardSection):
|
||||
page.add_field(
|
||||
name=t(_p(
|
||||
'dash:member_admin|section:initial_roles|name',
|
||||
"Initial Roles ({commands[configure welcome]})"
|
||||
"Initial Roles ({commands[admin config welcome]})"
|
||||
)).format(commands=self.bot.core.mention_cache),
|
||||
value=table,
|
||||
inline=False
|
||||
|
||||
Reference in New Issue
Block a user