feat(duck): new command & update todo

This commit is contained in:
neoarz
2025-10-16 01:02:56 -04:00
parent c9626e779f
commit db0368eb4d
4 changed files with 61 additions and 3 deletions

View File

@@ -18,7 +18,7 @@
## Commands ## Commands
![Total Commands](https://img.shields.io/badge/Total%20Commands-65-5865F2) ![Total Commands](https://img.shields.io/badge/Total%20Commands-66-5865F2)
| Command group | Subcommands | | Command group | Subcommands |
| ------------ | --- | | ------------ | --- |
@@ -30,7 +30,7 @@
| sidestore | `help`, `refresh`, `code`, `crash`, `pairing`, `server`, `half`, `sparse`, `afc`, `udid` | | sidestore | `help`, `refresh`, `code`, `crash`, `pairing`, `server`, `half`, `sparse`, `afc`, `udid` |
| idevice | `help`, `noapps`, `errorcode`, `developermode`, `mountddi` | | idevice | `help`, `noapps`, `errorcode`, `developermode`, `mountddi` |
| melonx | `help`, `transfer`, `mods`, `gamecrash`, `requirements`, `error`, `26` | | melonx | `help`, `transfer`, `mods`, `gamecrash`, `requirements`, `error`, `26` |
| miscellaneous | `keanu`, `labubu`, `piracy`, `tryitandsee`, `rickroll`, `dontasktoask`, `support`, `depart`, `docs` `sigma` | | miscellaneous | `keanu`, `labubu`, `piracy`, `tryitandsee`, `rickroll`, `dontasktoask`, `support`, `depart`, `docs` `sigma`, `duck` |
| utilities | `translate`, `codepreview`, `dictionary` | | utilities | `translate`, `codepreview`, `dictionary` |
| media | `download`, `mcquote`, `img2gif`, `tweety`, `tts` | | media | `download`, `mcquote`, `img2gif`, `tweety`, `tts` |

View File

@@ -49,6 +49,14 @@
- [ ] Add random picture command - [ ] Add random picture command
- [ ] Add reminder command
- [ ] Add converting file types
- [ ] fix code preview command
- [ ] Add moderation giverole command
- [ ] add ~~admin abuse~~ command (for games) - [ ] add ~~admin abuse~~ command (for games)
- [x] add [tts](https://developer.puter.com/tutorials/free-unlimited-text-to-speech-api/) command - [x] add [tts](https://developer.puter.com/tutorials/free-unlimited-text-to-speech-api/) command

View File

@@ -7,6 +7,7 @@ from .dontasktoask import dontasktoask_command
from .rickroll import rr_command from .rickroll import rr_command
from .depart import depart_command from .depart import depart_command
from .labubu import labubu_command from .labubu import labubu_command
from .duck import duck_command
from .tryitandsee import tryitandsee_command from .tryitandsee import tryitandsee_command
from .piracy import piracy_command from .piracy import piracy_command
from .keanu import keanu_command from .keanu import keanu_command
@@ -30,7 +31,7 @@ class Miscellaneous(commands.GroupCog, name="misc"):
color=0x7289DA color=0x7289DA
) )
embed.set_author(name="Miscellaneous", icon_url="https://yes.nighty.works/raw/YxMC0r.png") embed.set_author(name="Miscellaneous", icon_url="https://yes.nighty.works/raw/YxMC0r.png")
embed.add_field(name="Available", value="dontasktoask, rr, depart, labubu, tryitandsee, piracy, keanu, support, docs", inline=False) embed.add_field(name="Available", value="dontasktoask, rr, depart, labubu, duck, tryitandsee, piracy, keanu, support, docs", inline=False)
await context.send(embed=embed) await context.send(embed=embed)
async def _invoke_hybrid(self, context: Context, name: str): async def _invoke_hybrid(self, context: Context, name: str):
@@ -66,6 +67,10 @@ class Miscellaneous(commands.GroupCog, name="misc"):
async def miscellaneous_group_labubu(self, context: Context): async def miscellaneous_group_labubu(self, context: Context):
await self._invoke_hybrid(context, "labubu") await self._invoke_hybrid(context, "labubu")
@miscellaneous_group.command(name="duck")
async def miscellaneous_group_duck(self, context: Context):
await self._invoke_hybrid(context, "duck")
@miscellaneous_group.command(name="tryitandsee") @miscellaneous_group.command(name="tryitandsee")
async def miscellaneous_group_tryitandsee(self, context: Context): async def miscellaneous_group_tryitandsee(self, context: Context):
await self._invoke_hybrid(context, "tryitandsee") await self._invoke_hybrid(context, "tryitandsee")
@@ -122,6 +127,14 @@ class Miscellaneous(commands.GroupCog, name="misc"):
async def labubu(self, context): async def labubu(self, context):
return await labubu_command()(self, context) return await labubu_command()(self, context)
@commands.check(_require_group_prefix)
@commands.hybrid_command(
name="duck",
description="Duck ASCII art"
)
async def duck(self, context):
return await duck_command()(self, context)
@commands.check(_require_group_prefix) @commands.check(_require_group_prefix)
@commands.hybrid_command( @commands.hybrid_command(
name="tryitandsee", name="tryitandsee",
@@ -178,6 +191,7 @@ async def setup(bot) -> None:
bot.logger.info("Loaded extension 'miscellaneous.rr'") bot.logger.info("Loaded extension 'miscellaneous.rr'")
bot.logger.info("Loaded extension 'miscellaneous.depart'") bot.logger.info("Loaded extension 'miscellaneous.depart'")
bot.logger.info("Loaded extension 'miscellaneous.labubu'") bot.logger.info("Loaded extension 'miscellaneous.labubu'")
bot.logger.info("Loaded extension 'miscellaneous.duck'")
bot.logger.info("Loaded extension 'miscellaneous.tryitandsee'") bot.logger.info("Loaded extension 'miscellaneous.tryitandsee'")
bot.logger.info("Loaded extension 'miscellaneous.piracy'") bot.logger.info("Loaded extension 'miscellaneous.piracy'")
bot.logger.info("Loaded extension 'miscellaneous.keanu'") bot.logger.info("Loaded extension 'miscellaneous.keanu'")

View File

@@ -0,0 +1,36 @@
import discord
from discord.ext import commands
from discord.ext.commands import Context
def duck_command():
@commands.hybrid_command(
name="duck",
description="Duck ASCII art",
)
async def duck(self, context):
duck_art = """
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣉⡥⠶⢶⣿⣿⣿⣿⣷⣆⠉⠛⠿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⡿⢡⡞⠁⠤⠈⠿⠿⠿⠿⣿⢻⣦⡈⠻⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⡇⠘⡁⠀⢀⣀⣀⣀⣈⣁⣐⡒⠢⢤⡈⠛⢿⡄⠻⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⡇⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⠉⠐⠄⡈⢀⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⠇⢠⣿⣿⣿⣿⡿⢿⣿⣿⣿⠁⢈⣿⡄⢀⣀⠸⣿⣿⣿⣿
⣿⣿⣿⣿⡿⠟⣡⣶⣶⣬⣭⣥⣴⣾⣿⣿⣿⣶⣾⣿⣧⣼⣿⣷⣌⡻⢿⣿
⣿⣿⠟⣋⣴⣾⣿⣿⣿⣿⣿⣿⣿⡇⢿⣿⣿⣿⣿⣿⣿⡿⢸⣿⣿⣿⣿⣷⠄⢻
⠰⢾⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⢂⣭⣿⣿⣿⣿⣿⠇⠘⠛⠛⢉⣉⣠⣴⣾
⣿⣷⣦⣬⣍⣉⣉⣛⣛⣉⠉⣤⣶⣾⣿⣿⣿⣿⣿⣿⡿⢰⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡘⣿⣿⣿⣿⣿⣿⣿⣿⡇⣼⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⣿⣿⣿⣿⣿⣿⠁⣿⣿⣿⣿⣿⣿⣿⣿⣿
"""
if getattr(context, "interaction", None):
inter = context.interaction
if not inter.response.is_done():
await inter.response.send_message(f"```ansi\n{duck_art}\n```", ephemeral=False)
else:
await inter.followup.send(f"```ansi\n{duck_art}\n```", ephemeral=True)
else:
await context.send(f"```ansi\n{duck_art}\n```")
return duck