-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfiglet.py
More file actions
87 lines (76 loc) · 3.31 KB
/
figlet.py
File metadata and controls
87 lines (76 loc) · 3.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# ---------------------------------------------------------------------------------
#░█▀▄░▄▀▀▄░█▀▄░█▀▀▄░█▀▀▄░█▀▀▀░▄▀▀▄░░░█▀▄▀█
#░█░░░█░░█░█░█░█▄▄▀░█▄▄█░█░▀▄░█░░█░░░█░▀░█
#░▀▀▀░░▀▀░░▀▀░░▀░▀▀░▀░░▀░▀▀▀▀░░▀▀░░░░▀░░▒▀
# 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": "<emoji document_id=5328145443106873128>✖️</emoji> <b>You don't have Figlet installed! Install it with <code>.terminal sudo apt install figlet -y</code></b>",
"no_args": "<emoji document_id=5328145443106873128>✖️</emoji> <b>Where args?</b>"
}
strings_ru = {
"not_installed": "<emoji document_id=5328145443106873128>✖️</emoji> <b>У вас не установлен Figlet! Установите его командой <code>.terminal sudo apt install figlet -y</code></b>",
"no_args": "<emoji document_id=5328145443106873128>✖️</emoji> <b>Где аргументы?</b>"
}
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"<pre>ᅠ\n{utils.escape_html(output)}</pre>")
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, "<b>List of available fonts:</b>\n" + "\n".join(fonts))