feat: (description) move invite to make all general commands ep and more

Moved the invite command from general to owner cogs and updated help command category mapping accordingly. Improved ephemeral response handling in botinfo, ping, and serverinfo commands. Enhanced help command to avoid duplicate command listings and include application commands. Cleaned up serverinfo code and added guild-only enforcement.
This commit is contained in:
neoarz
2025-09-15 13:50:24 -04:00
parent d817223bbd
commit 26c28fcc7a
6 changed files with 52 additions and 30 deletions

41
cogs/owner/invite.py Normal file
View File

@@ -0,0 +1,41 @@
import os
import discord
from discord.ext import commands
from discord.ext.commands import Context
class Invite(commands.Cog, name="invite"):
def __init__(self, bot) -> None:
self.bot = bot
@commands.hybrid_command(
name="invite",
description="Get the invite link of the bot to be able to invite it.",
)
async def invite(self, context: Context) -> None:
"""
Get the invite link of the bot to be able to invite it.
:param context: The hybrid command context.
"""
client = self.bot.user
if client is None:
await context.send("Bot is not ready. Try again shortly.")
return
permissions = os.getenv("INVITE_PERMISSIONS", "0")
invite_url = (
f"https://discord.com/api/oauth2/authorize?client_id={client.id}"
f"&scope=bot%20applications.commands&permissions={permissions}"
)
embed = discord.Embed(description=f"Invite me by clicking [here]({invite_url}).", color=0x7289DA)
embed.set_author(name="Invite Me", icon_url="https://yes.nighty.works/raw/y5SEZ9.webp")
try:
await context.author.send(embed=embed)
await context.send("I sent you a private message!")
except discord.Forbidden:
await context.send(embed=embed)
async def setup(bot) -> None:
await bot.add_cog(Invite(bot))