# --------------------------------------------------------------------------------- #░█▀▄░▄▀▀▄░█▀▄░█▀▀▄░█▀▀▄░█▀▀▀░▄▀▀▄░░░█▀▄▀█ #░█░░░█░░█░█░█░█▄▄▀░█▄▄█░█░▀▄░█░░█░░░█░▀░█ #░▀▀▀░░▀▀░░▀▀░░▀░▀▀░▀░░▀░▀▀▀▀░░▀▀░░░░▀░░▒▀ # Name: Figlet # Description: Tool for Figlet # Author: @codrago_m # --------------------------------------------------------------------------------- # 🔒 Licensed under the GNU AGPLv3 # 🌐 https://www.gnu.org/licenses/agpl-3.0.html # --------------------------------------------------------------------------------- # Author: @codrago # Commands: figlet # scope: hikka_only # meta developer: @codrago_m # meta banner: https://raw.githubusercontent.com/coddrago/modules/refs/heads/main/banner.png # meta pic: https://envs.sh/Hou.webp # --------------------------------------------------------------------------------- __version__ = (1, 0, 0) import subprocess import traceback from .. import loader, utils @loader.tds class Figlet(loader.Module): """Tool for work with figlet""" strings = { "name": "Figlet", "not_installed": "✖️ You don't have Figlet installed! Install it with .terminal sudo apt install figlet -y", "no_args": "✖️ Where args?" } strings_ru = { "not_installed": "✖️ У вас не установлен Figlet! Установите его командой .terminal sudo apt install figlet -y", "no_args": "✖️ Где аргументы?" } def __init__(self): self.config = loader.ModuleConfig( loader.ConfigValue( "font", "standard", "Select font for figlet", validator=loader.validators.String(), ), ) async def figletcmd(self, message): """[args] | run figlet command""" args=utils.get_args_raw(message) if not args: await utils.answer(message, self.strings["no_args"]) else: try: result = subprocess.run(["figlet", "-f", f"{self.config['font']}", f"{args}"], capture_output=True, text=True) output = result.stdout await utils.answer(message, f"
ᅠ\n{utils.escape_html(output)}
") except FileNotFoundError: await utils.answer(message, self.strings["not_installed"]) async def figlistcmd(self, message): """| see list of all fonts""" fonts = [ "banner", "big", "block", "bubble", "digital", "ivrit", "lean", "mini", "mnemonic", "script", "shadow", "slant", "small", "smscript", "smshadow", "smslant", ] await utils.answer(message, "List of available fonts:\n" + "\n".join(fonts))