azils3's picture
Upload 47 files
bc96bf6 verified
raw
history blame
7.32 kB
import os
from image.font_string import Fonts
from pyrogram import Client, filters
from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
@Client.on_message(filters.private & filters.command(["font"]))
async def style_buttons(c, m, cb=False):
buttons = [[
InlineKeyboardButton('𝚃𝚢𝚙𝚎𝚠𝚛𝚒𝚝𝚎𝚛', callback_data='style+typewriter'),
InlineKeyboardButton('𝕆𝕦𝕥𝕝𝕚𝕟𝕖', callback_data='style+outline'),
InlineKeyboardButton('𝐒𝐞𝐫𝐢𝐟', callback_data='style+serif'),
],[
InlineKeyboardButton('𝑺𝒆𝒓𝒊𝒇', callback_data='style+bold_cool'),
InlineKeyboardButton('𝑆𝑒𝑟𝑖𝑓', callback_data='style+cool'),
InlineKeyboardButton('Sᴍᴀʟʟ Cᴀᴘs', callback_data='style+small_cap'),
],[
InlineKeyboardButton('𝓈𝒸𝓇𝒾𝓅𝓉', callback_data='style+script'),
InlineKeyboardButton('𝓼𝓬𝓻𝓲𝓹𝓽', callback_data='style+script_bolt'),
InlineKeyboardButton('ᵗⁱⁿʸ', callback_data='style+tiny'),
],[
InlineKeyboardButton('ᑕOᗰIᑕ', callback_data='style+comic'),
InlineKeyboardButton('𝗦𝗮𝗻𝘀', callback_data='style+sans'),
InlineKeyboardButton('𝙎𝙖𝙣𝙨', callback_data='style+slant_sans'),
],[
InlineKeyboardButton('𝘚𝘢𝘯𝘴', callback_data='style+slant'),
InlineKeyboardButton('𝖲𝖺𝗇𝗌', callback_data='style+sim'),
InlineKeyboardButton('Ⓒ︎Ⓘ︎Ⓡ︎Ⓒ︎Ⓛ︎Ⓔ︎Ⓢ︎', callback_data='style+circles')
],[
InlineKeyboardButton('🅒︎🅘︎🅡︎🅒︎🅛︎🅔︎🅢︎', callback_data='style+circle_dark'),
InlineKeyboardButton('𝔊𝔬𝔱𝔥𝔦𝔠', callback_data='style+gothic'),
InlineKeyboardButton('𝕲𝖔𝖙𝖍𝖎𝖈', callback_data='style+gothic_bolt'),
],[
InlineKeyboardButton('C͜͡l͜͡o͜͡u͜͡d͜͡s͜͡', callback_data='style+cloud'),
InlineKeyboardButton('H̆̈ă̈p̆̈p̆̈y̆̈', callback_data='style+happy'),
InlineKeyboardButton('S̑̈ȃ̈d̑̈', callback_data='style+sad'),
],[
InlineKeyboardButton('Next ➡️', callback_data="nxt")
]]
if not cb:
if ' ' in m.text:
title = m.text.split(" ", 1)[1]
await m.reply_text(title, reply_markup=InlineKeyboardMarkup(buttons), reply_to_message_id=m.id)
else:
await m.reply_text(text="Ente Any Text Eg:- `/font [text]`")
else:
await m.answer()
await m.message.edit_reply_markup(InlineKeyboardMarkup(buttons))
@Client.on_callback_query(filters.regex('^nxt'))
async def nxt(c, m):
if m.data == "nxt":
buttons = [[
InlineKeyboardButton('🇸 🇵 🇪 🇨 🇮 🇦 🇱 ', callback_data='style+special'),
InlineKeyboardButton('🅂🅀🅄🄰🅁🄴🅂', callback_data='style+squares'),
InlineKeyboardButton('🆂︎🆀︎🆄︎🅰︎🆁︎🅴︎🆂︎', callback_data='style+squares_bold'),
],[
InlineKeyboardButton('ꪖꪀᦔꪖꪶꪊᥴ𝓲ꪖ', callback_data='style+andalucia'),
InlineKeyboardButton('爪卂几ᘜ卂', callback_data='style+manga'),
InlineKeyboardButton('S̾t̾i̾n̾k̾y̾', callback_data='style+stinky'),
],[
InlineKeyboardButton('B̥ͦu̥ͦb̥ͦb̥ͦl̥ͦe̥ͦs̥ͦ', callback_data='style+bubbles'),
InlineKeyboardButton('U͟n͟d͟e͟r͟l͟i͟n͟e͟', callback_data='style+underline'),
InlineKeyboardButton('꒒ꍏꀷꌩꌃꀎꁅ', callback_data='style+ladybug'),
],[
InlineKeyboardButton('R҉a҉y҉s҉', callback_data='style+rays'),
InlineKeyboardButton('B҈i҈r҈d҈s҈', callback_data='style+birds'),
InlineKeyboardButton('S̸l̸a̸s̸h̸', callback_data='style+slash'),
],[
InlineKeyboardButton('s⃠t⃠o⃠p⃠', callback_data='style+stop'),
InlineKeyboardButton('S̺͆k̺͆y̺͆l̺͆i̺͆n̺͆e̺͆', callback_data='style+skyline'),
InlineKeyboardButton('A͎r͎r͎o͎w͎s͎', callback_data='style+arrows'),
],[
InlineKeyboardButton('ዪሀክቿነ', callback_data='style+qvnes'),
InlineKeyboardButton('S̶t̶r̶i̶k̶e̶', callback_data='style+strike'),
InlineKeyboardButton('F༙r༙o༙z༙e༙n༙', callback_data='style+frozen')
],[
InlineKeyboardButton('⬅️ Back', callback_data='nxt+0')
]]
await m.answer()
await m.message.edit_reply_markup(InlineKeyboardMarkup(buttons))
else:
await style_buttons(c, m, cb=True)
@Client.on_callback_query(filters.regex('^style'))
async def style(c, m):
await m.answer()
cmd, style = m.data.split('+')
if style == 'typewriter':
cls = Fonts.typewriter
if style == 'outline':
cls = Fonts.outline
if style == 'serif':
cls = Fonts.serief
if style == 'bold_cool':
cls = Fonts.bold_cool
if style == 'cool':
cls = Fonts.cool
if style == 'small_cap':
cls = Fonts.smallcap
if style == 'script':
cls = Fonts.script
if style == 'script_bolt':
cls = Fonts.bold_script
if style == 'tiny':
cls = Fonts.tiny
if style == 'comic':
cls = Fonts.comic
if style == 'sans':
cls = Fonts.san
if style == 'slant_sans':
cls = Fonts.slant_san
if style == 'slant':
cls = Fonts.slant
if style == 'sim':
cls = Fonts.sim
if style == 'circles':
cls = Fonts.circles
if style == 'circle_dark':
cls = Fonts.dark_circle
if style == 'gothic':
cls = Fonts.gothic
if style == 'gothic_bolt':
cls = Fonts.bold_gothic
if style == 'cloud':
cls = Fonts.cloud
if style == 'happy':
cls = Fonts.happy
if style == 'sad':
cls = Fonts.sad
if style == 'special':
cls = Fonts.special
if style == 'squares':
cls = Fonts.square
if style == 'squares_bold':
cls = Fonts.dark_square
if style == 'andalucia':
cls = Fonts.andalucia
if style == 'manga':
cls = Fonts.manga
if style == 'stinky':
cls = Fonts.stinky
if style == 'bubbles':
cls = Fonts.bubbles
if style == 'underline':
cls = Fonts.underline
if style == 'ladybug':
cls = Fonts.ladybug
if style == 'rays':
cls = Fonts.rays
if style == 'birds':
cls = Fonts.birds
if style == 'slash':
cls = Fonts.slash
if style == 'stop':
cls = Fonts.stop
if style == 'skyline':
cls = Fonts.skyline
if style == 'arrows':
cls = Fonts.arrows
if style == 'qvnes':
cls = Fonts.rvnes
if style == 'strike':
cls = Fonts.strike
if style == 'frozen':
cls = Fonts.frozen
r, oldtxt = m.message.reply_to_message.text.split(None, 1)
new_text = cls(oldtxt)
try:
await m.message.edit_text(f"`{new_text}`\n\n👆 Click To Copy", reply_markup=m.message.reply_markup)
except Exception as e:
print(e)