mirror of
https://github.com/neoarz/Syntrel.git
synced 2025-12-25 03:40:11 +01:00
refactor(botinfo): now seperate command
This commit is contained in:
3
bot.py
3
bot.py
@@ -90,7 +90,7 @@ class DiscordBot(commands.Bot):
|
||||
if os.path.exists(init_file):
|
||||
try:
|
||||
await self.load_extension(f"cogs.{folder}")
|
||||
if folder in ["owner", "help"]:
|
||||
if folder in ["owner", "help", "botinfo"]:
|
||||
self.logger.info(f"Loaded extension '{folder}'")
|
||||
except Exception as e:
|
||||
exception = f"{type(e).__name__}: {e}"
|
||||
@@ -122,6 +122,7 @@ class DiscordBot(commands.Bot):
|
||||
continue
|
||||
try:
|
||||
await self.load_extension(f"cogs.{extension}")
|
||||
if extension in ["owner", "help", "botinfo"]:
|
||||
self.logger.info(f"Loaded extension '{extension}'")
|
||||
except Exception as e:
|
||||
exception = f"{type(e).__name__}: {e}"
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
import platform
|
||||
import discord
|
||||
from discord import app_commands
|
||||
from discord.ext import commands
|
||||
from discord.ext.commands import Context
|
||||
|
||||
|
||||
class BotInfo(commands.Cog, name="botinfo"):
|
||||
def __init__(self, bot) -> None:
|
||||
self.bot = bot
|
||||
|
||||
def botinfo_command():
|
||||
@commands.hybrid_command(
|
||||
name="botinfo",
|
||||
description="Get some useful (or not) information about the bot.",
|
||||
)
|
||||
async def botinfo(self, context):
|
||||
@app_commands.allowed_contexts(guilds=True, dms=True, private_channels=True)
|
||||
@app_commands.allowed_installs(guilds=True, users=True)
|
||||
async def botinfo(self, context: Context) -> None:
|
||||
embed = discord.Embed(
|
||||
title="Syntrel Discord Bot",
|
||||
color=0x7289DA,
|
||||
@@ -22,9 +30,11 @@ def botinfo_command():
|
||||
value=f"/ (Slash Commands) or {self.bot.bot_prefix} for normal commands",
|
||||
inline=False,
|
||||
)
|
||||
if getattr(context, "interaction", None):
|
||||
if context.interaction:
|
||||
await context.interaction.response.send_message(embed=embed, ephemeral=True)
|
||||
else:
|
||||
await context.send(embed=embed)
|
||||
|
||||
return botinfo
|
||||
|
||||
async def setup(bot) -> None:
|
||||
await bot.add_cog(BotInfo(bot))
|
||||
@@ -4,7 +4,6 @@ from discord.ext.commands import Context
|
||||
|
||||
from .ping import ping_command
|
||||
from .uptime import uptime_command
|
||||
from .botinfo import botinfo_command
|
||||
from .serverinfo import serverinfo_command
|
||||
from .feedback import feedback_command
|
||||
|
||||
@@ -32,7 +31,7 @@ class General(commands.GroupCog, name="general"):
|
||||
color=0x7289DA
|
||||
)
|
||||
embed.set_author(name="General", icon_url="https://yes.nighty.works/raw/y5SEZ9.webp")
|
||||
embed.add_field(name="Available", value="ping, uptime, botinfo, serverinfo, feedback", inline=False)
|
||||
embed.add_field(name="Available", value="ping, uptime, serverinfo, feedback", inline=False)
|
||||
await context.send(embed=embed)
|
||||
|
||||
async def _invoke_hybrid(self, context: Context, name: str):
|
||||
@@ -50,10 +49,6 @@ class General(commands.GroupCog, name="general"):
|
||||
async def general_group_uptime(self, context: Context):
|
||||
await self._invoke_hybrid(context, "uptime")
|
||||
|
||||
@general_group.command(name="botinfo")
|
||||
async def general_group_botinfo(self, context: Context):
|
||||
await self._invoke_hybrid(context, "botinfo")
|
||||
|
||||
@general_group.command(name="serverinfo")
|
||||
async def general_group_serverinfo(self, context: Context):
|
||||
await self._invoke_hybrid(context, "serverinfo")
|
||||
@@ -78,14 +73,6 @@ class General(commands.GroupCog, name="general"):
|
||||
async def uptime(self, context):
|
||||
return await uptime_command()(self, context)
|
||||
|
||||
@commands.check(_require_group_prefix)
|
||||
@commands.hybrid_command(
|
||||
name="botinfo",
|
||||
description="Get some useful (or not) information about the bot.",
|
||||
)
|
||||
async def botinfo(self, context):
|
||||
return await botinfo_command()(self, context)
|
||||
|
||||
@commands.check(_require_group_prefix)
|
||||
@commands.hybrid_command(
|
||||
name="serverinfo",
|
||||
@@ -108,6 +95,5 @@ async def setup(bot) -> None:
|
||||
|
||||
bot.logger.info("Loaded extension 'general.ping'")
|
||||
bot.logger.info("Loaded extension 'general.uptime'")
|
||||
bot.logger.info("Loaded extension 'general.botinfo'")
|
||||
bot.logger.info("Loaded extension 'general.serverinfo'")
|
||||
bot.logger.info("Loaded extension 'general.feedback'")
|
||||
|
||||
12
cogs/help.py
12
cogs/help.py
@@ -79,6 +79,18 @@ class Help(commands.Cog, name="help"):
|
||||
)
|
||||
embed.set_author(name="Help", icon_url="https://yes.nighty.works/raw/T9mnBO.png")
|
||||
|
||||
standalone_commands = []
|
||||
botinfo_cmd = self.bot.tree.get_command("botinfo")
|
||||
if botinfo_cmd:
|
||||
standalone_commands.append("**/botinfo** » Get information about this bot")
|
||||
|
||||
if standalone_commands:
|
||||
embed.add_field(
|
||||
name="",
|
||||
value="".join(standalone_commands) + "\n",
|
||||
inline=False
|
||||
)
|
||||
|
||||
available_categories = set()
|
||||
for cog_name in self.bot.cogs:
|
||||
mapped_category = category_mapping.get(cog_name.lower())
|
||||
|
||||
Reference in New Issue
Block a user