feat: (check description). 8ball, botinfo, context menu, feedback

Moved eightball cog from general to fun category and updated help command mapping accordingly. Added support for disabling cogs via the DISABLED_COGS environment variable in bot.py. Updated embed styles and author fields for botinfo, feedback, and eightball commands. Commented out context_menus cog code.
This commit is contained in:
neoarz
2025-09-15 08:44:54 -04:00
parent 93dcd03985
commit 5d893a8a84
7 changed files with 87 additions and 108 deletions

View File

@@ -1,66 +1,58 @@
"""
Copyright © Krypton 2019-Present - https://github.com/kkrypt0nn (https://krypton.ninja)
Description:
🐍 A simple template to start to code your own and personalized Discord bot in Python
Version: 6.4.0
"""
import discord
from discord import app_commands
from discord.ext import commands
class ContextMenus(commands.Cog, name="context_menus"):
def __init__(self, bot) -> None:
self.bot = bot
self.context_menu_user = app_commands.ContextMenu(
name="Grab ID", callback=self.grab_id
)
self.bot.tree.add_command(self.context_menu_user)
self.context_menu_message = app_commands.ContextMenu(
name="Remove spoilers", callback=self.remove_spoilers
)
self.bot.tree.add_command(self.context_menu_message)
async def remove_spoilers(
self, interaction: discord.Interaction, message: discord.Message
) -> None:
"""
Removes the spoilers from the message. This command requires the MESSAGE_CONTENT intent to work properly.
:param interaction: The application command interaction.
:param message: The message that is being interacted with.
"""
spoiler_attachment = None
for attachment in message.attachments:
if attachment.is_spoiler():
spoiler_attachment = attachment
break
embed = discord.Embed(
title="Message without spoilers",
description=message.content.replace("||", ""),
color=0xBEBEFE,
)
if spoiler_attachment is not None:
embed.set_image(url=attachment.url)
await interaction.response.send_message(embed=embed, ephemeral=True)
async def grab_id(
self, interaction: discord.Interaction, user: discord.User
) -> None:
"""
Grabs the ID of the user.
:param interaction: The application command interaction.
:param user: The user that is being interacted with.
"""
embed = discord.Embed(
description=f"The ID of {user.mention} is `{user.id}`.",
color=0xBEBEFE,
)
await interaction.response.send_message(embed=embed, ephemeral=True)
async def setup(bot) -> None:
await bot.add_cog(ContextMenus(bot))
# import discord
# from discord import app_commands
# from discord.ext import commands
#
#
# class ContextMenus(commands.Cog, name="context_menus"):
# def __init__(self, bot) -> None:
# self.bot = bot
# self.context_menu_user = app_commands.ContextMenu(
# name="Grab ID", callback=self.grab_id
# )
# self.bot.tree.add_command(self.context_menu_user)
# self.context_menu_message = app_commands.ContextMenu(
# name="Remove spoilers", callback=self.remove_spoilers
# )
# self.bot.tree.add_command(self.context_menu_message)
#
# async def remove_spoilers(
# self, interaction: discord.Interaction, message: discord.Message
# ) -> None:
# """
# Removes the spoilers from the message. This command requires the MESSAGE_CONTENT intent to work properly.
#
# :param interaction: The application command interaction.
# :param message: The message that is being interacted with.
# """
# spoiler_attachment = None
# for attachment in message.attachments:
# if attachment.is_spoiler():
# spoiler_attachment = attachment
# break
# embed = discord.Embed(
# title="Message without spoilers",
# description=message.content.replace("||", ""),
# color=0xBEBEFE,
# )
# if spoiler_attachment is not None:
# embed.set_image(url=attachment.url)
# await interaction.response.send_message(embed=embed, ephemeral=True)
#
# async def grab_id(
# self, interaction: discord.Interaction, user: discord.User
# ) -> None:
# """
# Grabs the ID of the user.
#
# :param interaction: The application command interaction.
# :param user: The user that is being interacted with.
# """
# embed = discord.Embed(
# description=f"The ID of {user.mention} is `{user.id}`.",
# color=0xBEBEFE,
# )
# await interaction.response.send_message(embed=embed, ephemeral=True)
#
#
# async def setup(bot) -> None:
# await bot.add_cog(ContextMenus(bot))