35 lines
1.4 KiB
Python
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)
|