mirror of
https://github.com/wlinator/luminara.git
synced 2024-10-02 18:03:12 +00:00
chore: Add prefix configuration commands
This commit is contained in:
parent
0e962c8140
commit
882fe41b8e
5 changed files with 48 additions and 35 deletions
|
@ -49,6 +49,9 @@
|
|||
"config_level_type_whimsical": "level announcements will be **sarcastic comments**.",
|
||||
"config_level_type_whimsical_example": "📈 | **lucas** Lol it took you this long to reach **Level 15**.",
|
||||
"config_modlog_channel_set": "moderation logs will be sent in {0}.",
|
||||
"config_prefix_get": "the current prefix for this server is `{0}`.",
|
||||
"config_prefix_set": "the prefix has been set to `{0}`.",
|
||||
"config_prefix_too_long": "the prefix must be 25 characters or less.",
|
||||
"config_show_author": "{0} Configuration",
|
||||
"config_show_birthdays": "Birthdays",
|
||||
"config_show_boost_announcements": "Boost announcements",
|
||||
|
|
|
@ -4,13 +4,13 @@ from discord.ext import bridge, commands
|
|||
|
||||
from config.parser import JsonCache
|
||||
from modules.config import (
|
||||
c_prefix,
|
||||
c_show,
|
||||
c_birthday,
|
||||
c_greet,
|
||||
c_boost,
|
||||
c_level,
|
||||
c_moderation,
|
||||
set_prefix,
|
||||
xp_reward,
|
||||
)
|
||||
|
||||
|
@ -21,18 +21,6 @@ class Config(commands.Cog):
|
|||
def __init__(self, client):
|
||||
self.client = client
|
||||
|
||||
@bridge.bridge_command(
|
||||
name="setprefix",
|
||||
aliases=["sp"],
|
||||
description="Set Lumi's prefix.",
|
||||
help="Set the prefix for Lumi in this server. The maximum length of a prefix is 25.",
|
||||
guild_only=True,
|
||||
)
|
||||
@commands.guild_only()
|
||||
@commands.has_permissions(manage_channels=True)
|
||||
async def prefix_set_command(self, ctx, *, prefix: str):
|
||||
await set_prefix.set_cmd(ctx, prefix)
|
||||
|
||||
@bridge.bridge_command(
|
||||
name="xprewards",
|
||||
aliases=["xpr"],
|
||||
|
@ -85,6 +73,7 @@ class Config(commands.Cog):
|
|||
- Welcome
|
||||
- Boosts
|
||||
- Levels
|
||||
- Prefix
|
||||
- Modlog channel
|
||||
- Permissions preset (coming soon)
|
||||
|
||||
|
@ -173,6 +162,12 @@ class Config(commands.Cog):
|
|||
async def config_level_template(self, ctx, text: str):
|
||||
await c_level.set_level_template(ctx, text)
|
||||
|
||||
prefix_config = config.create_subgroup(name="prefix")
|
||||
|
||||
@prefix_config.command(name="set")
|
||||
async def config_prefix_set(self, ctx, prefix: str):
|
||||
await c_prefix.set_prefix(ctx, prefix)
|
||||
|
||||
modlog = config.create_subgroup(name="moderation")
|
||||
|
||||
@modlog.command(name="log")
|
||||
|
|
35
modules/config/c_prefix.py
Normal file
35
modules/config/c_prefix.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
from lib.embed_builder import EmbedBuilder
|
||||
from lib.constants import CONST
|
||||
from services.config_service import GuildConfig
|
||||
|
||||
|
||||
async def set_prefix(ctx, prefix):
|
||||
if len(prefix) > 25:
|
||||
embed = EmbedBuilder().create_error_embed(
|
||||
ctx=ctx,
|
||||
author_text=CONST.STRINGS["config_author"],
|
||||
description=CONST.STRINGS["config_prefix_too_long"],
|
||||
)
|
||||
return await ctx.respond(embed=embed)
|
||||
|
||||
guild_config = GuildConfig(
|
||||
ctx.guild.id,
|
||||
) # generate a guild_config for if it didn't already exist
|
||||
GuildConfig.set_prefix(guild_config.guild_id, prefix)
|
||||
|
||||
embed = EmbedBuilder().create_success_embed(
|
||||
ctx=ctx,
|
||||
author_text=CONST.STRINGS["config_author"],
|
||||
description=CONST.STRINGS["config_prefix_set"].format(prefix),
|
||||
)
|
||||
await ctx.respond(embed=embed)
|
||||
|
||||
|
||||
async def get_prefix(ctx):
|
||||
prefix = GuildConfig.get_prefix(ctx.guild.id)
|
||||
embed = EmbedBuilder().create_info_embed(
|
||||
ctx=ctx,
|
||||
author_text=CONST.STRINGS["config_author"],
|
||||
description=CONST.STRINGS["config_prefix_get"].format(prefix),
|
||||
)
|
||||
await ctx.respond(embed=embed)
|
|
@ -1,20 +0,0 @@
|
|||
from lib.embeds.error import MiscErrors
|
||||
from lib.embeds.info import MiscInfo
|
||||
from services.config_service import GuildConfig
|
||||
|
||||
|
||||
async def set_cmd(ctx, prefix):
|
||||
if len(prefix) > 25:
|
||||
return await ctx.respond(embed=MiscErrors.prefix_too_long(ctx))
|
||||
|
||||
guild_config = GuildConfig(
|
||||
ctx.guild.id,
|
||||
) # generate a guild_config for if it didn't already exist
|
||||
GuildConfig.set_prefix(guild_config.guild_id, prefix)
|
||||
|
||||
await ctx.respond(embed=MiscInfo.set_prefix(ctx, prefix))
|
||||
|
||||
|
||||
async def get_cmd(ctx):
|
||||
prefix = GuildConfig.get_prefix(ctx.guild.id)
|
||||
await ctx.respond(embed=MiscInfo.get_prefix(ctx, prefix))
|
|
@ -6,7 +6,7 @@ from discord.ext import bridge, commands, tasks
|
|||
|
||||
from Client import LumiBot
|
||||
from lib import checks
|
||||
from modules.config import set_prefix
|
||||
from modules.config import c_prefix
|
||||
from modules.misc import avatar, backup, info, introduction, invite, ping, xkcd
|
||||
|
||||
|
||||
|
@ -69,7 +69,7 @@ class Misc(commands.Cog):
|
|||
@commands.guild_only()
|
||||
@checks.allowed_in_channel()
|
||||
async def prefix_command(self, ctx) -> None:
|
||||
await set_prefix.get_cmd(ctx)
|
||||
await c_prefix.get_prefix(ctx)
|
||||
|
||||
@bridge.bridge_command(
|
||||
name="info",
|
||||
|
|
Loading…
Reference in a new issue