1
Fork 0
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:
wlinator 2024-08-03 14:47:32 -04:00
parent 0e962c8140
commit 882fe41b8e
5 changed files with 48 additions and 35 deletions

View file

@ -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",

View file

@ -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")

View 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)

View file

@ -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))

View file

@ -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",