SeaCogs/emojiinfo/emojiinfo.py

35 lines
1.4 KiB
Python

from typing import Any, Literal
from red_commons.logging import RedTraceLogger, getLogger
from redbot.core import commands
from redbot.core.bot import Red
from redbot.core.utils.chat_formatting import humanize_list
class EmojiInfo(commands.Cog):
"""Retrieve information about emojis."""
__author__: list[str] = ["SeaswimmerTheFsh"]
__version__: str = "1.0.0"
__documentation__: str = "https://seacogs.coastalcommits.com/emoji/"
def __init__(self, bot: Red) -> None:
super().__init__()
self.bot: Red = bot
self.logger: RedTraceLogger = getLogger(name="red.SeaCogs.Emoji")
def format_help_for_context(self, ctx: commands.Context) -> str:
pre_processed: Any | Literal[''] = super().format_help_for_context(ctx) or ""
n: Literal['\n'] | Literal[''] = "\n" if "\n\n" not in pre_processed else ""
text: list[str] = [
f"{pre_processed}{n}",
f"Cog Version: **{self.__version__}**",
f"Author: {humanize_list(items=self.__author__)}",
f"Documentation: {self.__documentation__}",
]
return "\n".join(text)
@commands.hybrid_command(name="emoji")
async def emoji(self, ctx: commands.Context, emoji: str, ephemeral: bool = False) -> None:
"""Retrieve information about an emoji."""
await ctx.send(content=f"Emoji: {emoji}", ephemeral=ephemeral)