mirror of
https://github.com/wlinator/luminara.git
synced 2024-10-02 20:23:12 +00:00
chore: Add birthday module configuration commands
This commit is contained in:
parent
c009fd5412
commit
50da9fcf24
4 changed files with 52 additions and 90 deletions
|
@ -22,6 +22,7 @@
|
|||
"case_type_field": "Type:",
|
||||
"case_type_field_value": "`{0}`",
|
||||
"case_type_field_value_with_duration": "`{0} ({1})`",
|
||||
"config_author": "Server Configuration",
|
||||
"config_show_author": "{0} Configuration",
|
||||
"config_show_birthdays": "Birthdays",
|
||||
"config_show_boost_announcements": "Boost announcements",
|
||||
|
@ -35,6 +36,9 @@
|
|||
"config_show_moderation_log_enabled": "✅ {0}",
|
||||
"config_show_moderation_log_not_configured": "⚠️ **Not configured yet**",
|
||||
"config_show_new_member_greets": "New member greets",
|
||||
"config_birthday_channel_set": "birthday announcements will be sent in {0}.",
|
||||
"config_birthday_module_already_disabled": "the birthday module was already disabled.",
|
||||
"config_birthday_module_disabled": "the birthday module was successfully disabled.",
|
||||
"daily_already_claimed_author": "Already Claimed",
|
||||
"daily_already_claimed_description": "you can claim your daily reward again <t:{0}:R>.",
|
||||
"daily_already_claimed_footer": "Daily reset is at 7 AM EST",
|
||||
|
|
|
@ -7,7 +7,7 @@ from lib import formatter
|
|||
from lib.embeds.boost import Boost
|
||||
from lib.embeds.error import GenericErrors
|
||||
from lib.embeds.greet import Greet
|
||||
from modules.config import show, set_prefix, xp_reward
|
||||
from modules.config import c_show, c_birthday, set_prefix, xp_reward
|
||||
from services.config_service import GuildConfig
|
||||
|
||||
strings = JsonCache.read_json("strings")
|
||||
|
@ -78,8 +78,6 @@ class Config(commands.Cog):
|
|||
Only members with "manage guild" permissions can access commands in this group.
|
||||
|
||||
- Birthdays
|
||||
- Commands
|
||||
- Intros
|
||||
- Welcome
|
||||
- Boosts
|
||||
- Levels
|
||||
|
@ -96,103 +94,21 @@ class Config(commands.Cog):
|
|||
default_member_permissions=discord.Permissions(manage_guild=True),
|
||||
)
|
||||
birthday_config = config.create_subgroup(name="birthdays")
|
||||
command_config = config.create_subgroup(name="commands")
|
||||
intro_config = config.create_subgroup(name="intros")
|
||||
welcome_config = config.create_subgroup(name="greetings")
|
||||
boost_config = config.create_subgroup(name="boosts")
|
||||
level_config = config.create_subgroup(name="levels")
|
||||
|
||||
@config.command(name="show")
|
||||
async def config_command(self, ctx):
|
||||
await show.cmd(ctx)
|
||||
await c_show.cmd(ctx)
|
||||
|
||||
@birthday_config.command(
|
||||
name="channel",
|
||||
description="Set the birthday announcements channel.",
|
||||
)
|
||||
@birthday_config.command(name="channel")
|
||||
async def config_birthdays_channel(self, ctx, *, channel: discord.TextChannel):
|
||||
guild_config = GuildConfig(ctx.guild.id)
|
||||
guild_config.birthday_channel_id = channel.id
|
||||
guild_config.push()
|
||||
await c_birthday.set_birthday_channel(ctx, channel)
|
||||
|
||||
embed = discord.Embed(
|
||||
color=discord.Color.orange(),
|
||||
description=f"✅ | Birthday announcements will be sent in {channel.mention}.",
|
||||
)
|
||||
guild_icon = (
|
||||
ctx.guild.icon if ctx.guild.icon else "https://i.imgur.com/79XfsbS.png"
|
||||
)
|
||||
embed.set_author(name="Server Configuration", icon_url=guild_icon)
|
||||
|
||||
return await ctx.respond(embed=embed)
|
||||
|
||||
@birthday_config.command(
|
||||
name="disable",
|
||||
description="Disable the birthday module.",
|
||||
)
|
||||
@birthday_config.command(name="disable")
|
||||
async def config_birthdays_disable(self, ctx):
|
||||
guild_config = GuildConfig(ctx.guild.id)
|
||||
|
||||
embed = discord.Embed(
|
||||
color=discord.Color.orange(),
|
||||
)
|
||||
guild_icon = (
|
||||
ctx.guild.icon if ctx.guild.icon else "https://i.imgur.com/79XfsbS.png"
|
||||
)
|
||||
embed.set_author(name="Server Configuration", icon_url=guild_icon)
|
||||
|
||||
if not guild_config.birthday_channel_id:
|
||||
embed.description = "👍 | The birthday module was already disabled."
|
||||
return await ctx.respond(embed=embed)
|
||||
|
||||
else:
|
||||
guild_config.birthday_channel_id = None
|
||||
guild_config.push()
|
||||
embed.description = "✅ | The birthday module was successfully disabled."
|
||||
return await ctx.respond(embed=embed)
|
||||
|
||||
@command_config.command(
|
||||
name="channel",
|
||||
description="Configure where members can use Lumi commands.",
|
||||
)
|
||||
async def config_commands_channel(self, ctx, *, channel: discord.TextChannel):
|
||||
guild_config = GuildConfig(ctx.guild.id)
|
||||
guild_config.command_channel_id = channel.id
|
||||
guild_config.push()
|
||||
|
||||
embed = discord.Embed(
|
||||
color=discord.Color.orange(),
|
||||
description=f"✅ | Commands can now only be used in {channel.mention}.",
|
||||
)
|
||||
guild_icon = (
|
||||
ctx.guild.icon if ctx.guild.icon else "https://i.imgur.com/79XfsbS.png"
|
||||
)
|
||||
embed.set_author(name="Server Configuration", icon_url=guild_icon)
|
||||
embed.set_footer(
|
||||
text="Note: mod & config commands are still available everywhere.",
|
||||
)
|
||||
|
||||
return await ctx.respond(embed=embed)
|
||||
|
||||
@command_config.command(
|
||||
name="everywhere",
|
||||
description="Allow members to do commands in all channels.",
|
||||
)
|
||||
async def config_commands_everywhere(self, ctx):
|
||||
guild_config = GuildConfig(ctx.guild.id)
|
||||
guild_config.command_channel_id = None
|
||||
guild_config.push()
|
||||
|
||||
embed = discord.Embed(
|
||||
color=discord.Color.orange(),
|
||||
description="✅ | Server members can now use Lumi commands in all channels. ",
|
||||
)
|
||||
guild_icon = (
|
||||
ctx.guild.icon if ctx.guild.icon else "https://i.imgur.com/79XfsbS.png"
|
||||
)
|
||||
embed.set_author(name="Server Configuration", icon_url=guild_icon)
|
||||
|
||||
return await ctx.respond(embed=embed)
|
||||
await c_birthday.disable_birthday_module(ctx)
|
||||
|
||||
@welcome_config.command(
|
||||
name="channel",
|
||||
|
|
42
modules/config/c_birthday.py
Normal file
42
modules/config/c_birthday.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
import discord
|
||||
from lib.embed_builder import EmbedBuilder
|
||||
from lib.constants import CONST
|
||||
from services.config_service import GuildConfig
|
||||
|
||||
|
||||
async def set_birthday_channel(ctx, channel: discord.TextChannel):
|
||||
guild_config = GuildConfig(ctx.guild.id)
|
||||
guild_config.birthday_channel_id = channel.id
|
||||
guild_config.push()
|
||||
|
||||
embed = EmbedBuilder().create_success_embed(
|
||||
ctx=ctx,
|
||||
author_text=CONST.STRINGS["config_author"],
|
||||
description=CONST.STRINGS["config_birthday_channel_set"].format(
|
||||
channel.mention,
|
||||
),
|
||||
)
|
||||
|
||||
return await ctx.respond(embed=embed)
|
||||
|
||||
|
||||
async def disable_birthday_module(ctx):
|
||||
guild_config = GuildConfig(ctx.guild.id)
|
||||
|
||||
if not guild_config.birthday_channel_id:
|
||||
embed = EmbedBuilder().create_warning_embed(
|
||||
ctx=ctx,
|
||||
author_text=CONST.STRINGS["config_author"],
|
||||
description=CONST.STRINGS["config_birthday_module_already_disabled"],
|
||||
)
|
||||
|
||||
else:
|
||||
embed = EmbedBuilder().create_success_embed(
|
||||
ctx=ctx,
|
||||
author_text=CONST.STRINGS["config_author"],
|
||||
description=CONST.STRINGS["config_birthday_module_disabled"],
|
||||
)
|
||||
guild_config.birthday_channel_id = None
|
||||
guild_config.push()
|
||||
|
||||
return await ctx.respond(embed=embed)
|
Loading…
Reference in a new issue