-
Notifications
You must be signed in to change notification settings - Fork 82
/
figlet.py
75 lines (71 loc) · 1.99 KB
/
figlet.py
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
import pyfiglet
from userbot.helpers.utils import _format
from userbot.plugins import _format, catub, deEmojify, edit_delete, edit_or_reply
plugin_category = "extra"
CMD_FIG = {
"slant": "slant",
"3D": "3-d",
"5line": "5lineoblique",
"alpha": "alphabet",
"banner": "banner3-D",
"doh": "doh",
"basic": "basic",
"binary": "binary",
"iso": "isometric1",
"letter": "letters",
"allig": "alligator",
"dotm": "dotmatrix",
"bubble": "bubble",
"bulb": "bulbhead",
"digi": "digital",
}
@catub.cat_cmd(
pattern="figlet(?:\s|$)([\s\S]*)",
command=("figlet", plugin_category),
info={
"header": "Changes the given text into the given style",
"usage": ["{tr}figlet <style> ; <text>", "{tr}figlet <text>"],
"examples": ["{tr}figlet digi ; hello", "{tr}figlet hello"],
"styles": [
"slant",
"3D",
"5line",
"alpha",
"banner",
"doh",
"iso",
"letter",
"allig",
"dotm",
"bubble",
"bulb",
"digi",
"binary",
"basic",
],
},
)
async def figlet(event):
"Changes the given text into the given style"
input_str = event.pattern_match.group(1)
if ";" in input_str:
cmd, text = input_str.split(";", maxsplit=1)
elif input_str:
cmd = None
text = input_str
else:
await edit_or_reply(event, "`Give some text to change it`")
return
style = cmd
text = text.strip()
if style is not None:
try:
font = CMD_FIG[style.strip()]
except KeyError:
return await edit_delete(
event, "**Invalid style selected**, __Check__ `.info figlet`."
)
result = pyfiglet.figlet_format(deEmojify(text), font=font)
else:
result = pyfiglet.figlet_format(deEmojify(text))
await edit_or_reply(event, result, parse_mode=_format.parse_pre)