tkboto/main.py
2026-08-19 22:29:19 -04:00

663 lines
30 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# General setup and stuff based on a tutorial by @TechWithTim on Youtube
from email.mime import application
from encodings.aliases import aliases
import discord
from aiohttp import request
from discord.ext import commands
import logging
from dotenv import load_dotenv
import os
from collections import deque
from typing import Literal
load_dotenv()
token = os.getenv('DISCORD_TOKEN')
tajkna = {
"a_rsmi": "<:a_rsmi:1538685827918331904>",
"o_rsmi": "<:o_rsmi:1538685827339649024>",
"i_rsmi": "<:i_rsmi:1538685826660171906>",
"u_rsmi": "<:u_rsmi:1538685825750016051>",
"e_rsmi": "<:e_rsmi:1538685824588189746>",
"sa_rsmi": "<:sa_rsmi:1538685823308926986>",
"so_rsmi": "<:so_rsmi:1538685822478454844>",
"si_rsmi": "<:si_rsmi:1538685821685600276>",
"su_rsmi": "<:su_rsmi:1538685820502937680>",
"se_rsmi": "<:se_rsmi:1538685819122884678>",
"za_rsmi": "<:za_rsmi:1538685818380615721>",
"zo_rsmi": "<:zo_rsmi:1538685817281716367>",
"zi_rsmi": "<:zi_rsmi:1538685816837247047>",
"zu_rsmi": "<:zu_rsmi:1538685816111366185>",
"ze_rsmi": "<:ze_rsmi:1538685814882697256>",
"xa_rsmi": "<:xa_rsmi:1538685814152626256>",
"xo_rsmi": "<:xo_rsmi:1538685813204975726>",
"xi_rsmi": "<:xi_rsmi:1538685812281966662>",
"xu_rsmi": "<:xu_rsmi:1538685811623592036>",
"xe_rsmi": "<:xe_rsmi:1538685810881204307>",
"ja_rsmi": "<:ja_rsmi:1538685809929228358>",
"jo_rsmi": "<:jo_rsmi:1538685809186701382>",
"ji_rsmi": "<:ji_rsmi:1538685808524001400>",
"ju_rsmi": "<:ju_rsmi:1538685807471366264>",
"je_rsmi": "<:je_rsmi:1538685806376525865>",
"as_rsmi": "<:as_rsmi:1538685805529268254>",
"os_rsmi": "<:os_rsmi:1538685804694605834>",
"is_rsmi": "<:is_rsmi:1538685794548449300>",
"us_rsmi": "<:us_rsmi:1538685793147682959>",
"es_rsmi": "<:es_rsmi:1538685791922823289>",
"az_rsmi": "<:az_rsmi:1538685790929031298>",
"oz_rsmi": "<:oz_rsmi:1538685789637181592>",
"iz_rsmi": "<:iz_rsmi:1538685788877885450>",
"uz_rsmi": "<:uz_rsmi:1538685788139683840>",
"ez_rsmi": "<:ez_rsmi:1538685777352073307>",
"ta_rsmi": "<:ta_rsmi:1538685776445964298>",
"to_rsmi": "<:to_rsmi:1538685775460438026>",
"ti_rsmi": "<:ti_rsmi:1538685774449614899>",
"tu_rsmi": "<:tu_rsmi:1538685773379796993>",
"te_rsmi": "<:te_rsmi:1538685772423626872>",
"da_rsmi": "<:da_rsmi:1538685771639169034>",
"do_rsmi": "<:do_rsmi:1538685770800439373>",
"di_rsmi": "<:di_rsmi:1538685770037076079>",
"du_rsmi": "<:du_rsmi:1538685768518869064>",
"de_rsmi": "<:de_rsmi:1538685767440666625>",
"ca_rsmi": "<:ca_rsmi:1538685766765383700>",
"co_rsmi": "<:co_rsmi:1538685765587042364>",
"ci_rsmi": "<:ci_rsmi:1538685764882141214>",
"cu_rsmi": "<:cu_rsmi:1538685764098072656>",
"ce_rsmi": "<:ce_rsmi:1538685763485564928>",
"qa_rsmi": "<:qa_rsmi:1538685762772668517>",
"qo_rsmi": "<:qo_rsmi:1538685762160295987>",
"qi_rsmi": "<:qi_rsmi:1538685761476366356>",
"qu_rsmi": "<:qu_rsmi:1538685760692297918>",
"qe_rsmi": "<:qe_rsmi:1538685759261904967>",
"at_rsmi": "<:at_rsmi:1538685758280437952>",
"ot_rsmi": "<:ot_rsmi:1538685757718270013>",
"it_rsmi": "<:it_rsmi:1538685756845854885>",
"ut_rsmi": "<:ut_rsmi:1538685755533033482>",
"et_rsmi": "<:et_rsmi:1538685754354700298>",
"ad_rsmi": "<:ad_rsmi:1538685753255534714>",
"od_rsmi": "<:od_rsmi:1538685752882241636>",
"id_rsmi": "<:id_rsmi:1538685752034992209>",
"ud_rsmi": "<:ud_rsmi:1538685751355510814>",
"ed_rsmi": "<:ed_rsmi:1538685750521102396>",
"na_rsmi": "<:na_rsmi:1538685749782913104>",
"no_rsmi": "<:no_rsmi:1538685748893454477>",
"ni_rsmi": "<:ni_rsmi:1538685748083953724>",
"nu_rsmi": "<:nu_rsmi:1538685747270254613>",
"ne_rsmi": "<:ne_rsmi:1538685745689264148>",
"ma_rsmi": "<:ma_rsmi:1538685744867057685>",
"mo_rsmi": "<:mo_rsmi:1538685743789244456>",
"mi_rsmi": "<:mi_rsmi:1538685742866505798>",
"mu_rsmi": "<:mu_rsmi:1538685741448560710>",
"me_rsmi": "<:me_rsmi:1538685740182147112>",
"ya_rsmi": "<:ya_rsmi:1538685739326509156>",
"yo_rsmi": "<:yo_rsmi:1538685738227605535>",
"yi_rsmi": "<:yi_rsmi:1538685737564766290>",
"yu_rsmi": "<:yu_rsmi:1538685736298225734>",
"ye_rsmi": "<:ye_rsmi:1538685735023149197>",
"ra_rsmi": "<:ra_rsmi:1538685733844553838>",
"ro_rsmi": "<:ro_rsmi:1538685732879859752>",
"ri_rsmi": "<:ri_rsmi:1538685730463944844>",
"ru_rsmi": "<:ru_rsmi:1538685729683804170>",
"re_rsmi": "<:re_rsmi:1538685728794480700>",
"an_rsmi": "<:an_rsmi:1538685727863480370>",
"on_rsmi": "<:on_rsmi:1538685727120953474>",
"in_rsmi": "<:in_rsmi:1538685726122713268>",
"un_rsmi": "<:un_rsmi:1538685724680003664>",
"en_rsmi": "<:en_rsmi:1538685723685818409>",
"am_rsmi": "<:am_rsmi:1538685723345948742>",
"om_rsmi": "<:om_rsmi:1538685722511544411>",
"im_rsmi": "<:im_rsmi:1538685721861160960>",
"um_rsmi": "<:um_rsmi:1538685721047597146>",
"em_rsmi": "<:em_rsmi:1538685720049221724>",
"4a_rsmi": "<:4a_rsmi:1538685719487189044>",
"4o_rsmi": "<:4o_rsmi:1538685718723825684>",
"4i_rsmi": "<:4i_rsmi:1538685717708931183>",
"4u_rsmi": "<:4u_rsmi:1538685716991844472>",
"4e_rsmi": "<:4e_rsmi:1538685716257574942>",
"la_rsmi": "<:la_rsmi:1538685715460653149>",
"lo_rsmi": "<:lo_rsmi:1538685714894430278>",
"li_rsmi": "<:li_rsmi:1538685714139582534>",
"lu_rsmi": "<:lu_rsmi:1538685713153794189>",
"le_rsmi": "<:le_rsmi:1538685712277446696>",
"pa_rsmi": "<:pa_rsmi:1538685711165816883>",
"po_rsmi": "<:po_rsmi:1538685710729740368>",
"pi_rsmi": "<:pi_rsmi:1538685708879929436>",
"pu_rsmi": "<:pu_rsmi:1538685708502302753>",
"pe_rsmi": "<:pe_rsmi:1538685707776688159>",
"ba_rsmi": "<:ba_rsmi:1538685707097211040>",
"bo_rsmi": "<:bo_rsmi:1538685706073808977>",
"bi_rsmi": "<:bi_rsmi:1538685705461571584>",
"bu_rsmi": "<:bu_rsmi:1538685704492679239>",
"be_rsmi": "<:be_rsmi:1538685703758815312>",
"a4_rsmi": "<:a4_rsmi:1538685702890324048>",
"o4_rsmi": "<:o4_rsmi:1538685701896274020>",
"i4_rsmi": "<:i4_rsmi:1538685700403368057>",
"u4_rsmi": "<:u4_rsmi:1538685699547734016>",
"e4_rsmi": "<:e4_rsmi:1538685698469527636>",
"al_rsmi": "<:al_rsmi:1538685698218000546>",
"ol_rsmi": "<:ol_rsmi:1538685697588854824>",
"il_rsmi": "<:il_rsmi:1538685696808587274>",
"ul_rsmi": "<:ul_rsmi:1538685696062267412>",
"el_rsmi": "<:el_rsmi:1538685695168741548>",
"wa_rsmi": "<:wa_rsmi:1538685693897736323>",
"wo_rsmi": "<:wo_rsmi:1538685693134635128>",
"wi_rsmi": "<:wi_rsmi:1538685692434055249>",
"wu_rsmi": "<:wu_rsmi:1538685691825754142>",
"we_rsmi": "<:we_rsmi:1538685690550690028>",
"fa_rsmi": "<:fa_rsmi:1538685689250582559>",
"fo_rsmi": "<:fo_rsmi:1538685688537550960>",
"fi_rsmi": "<:fi_rsmi:1538685687908405350>",
"fu_rsmi": "<:fu_rsmi:1538685687199694949>",
"fe_rsmi": "<:fe_rsmi:1538685686574489731>",
"va_rsmi": "<:va_rsmi:1538685685987541203>",
"vo_rsmi": "<:vo_rsmi:1538685685190623384>",
"vi_rsmi": "<:vi_rsmi:1538685684267884575>",
"vu_rsmi": "<:vu_rsmi:1538685683626148010>",
"ve_rsmi": "<:ve_rsmi:1538685682653073458>",
"aw_rsmi": "<:aw_rsmi:1538685681918812200>",
"ow_rsmi": "<:ow_rsmi:1538685680434020494>",
"iw_rsmi": "<:iw_rsmi:1538685680044216381>",
"uw_rsmi": "<:uw_rsmi:1538685679364608120>",
"ew_rsmi": "<:ew_rsmi:1538685678571880568>",
"af_rsmi": "<:af_rsmi:1538685677791739904>",
"of_rsmi": "<:of_rsmi:1538685676965339206>",
"if_rsmi": "<:if_rsmi:1538685676135129088>",
"uf_rsmi": "<:uf_rsmi:1538685675375689838>",
"ef_rsmi": "<:ef_rsmi:1538685674444689609>",
"av_rsmi": "<:av_rsmi:1538685673521946756>",
"ov_rsmi": "<:ov_rsmi:1538685672607457280>",
"iv_rsmi": "<:iv_rsmi:1538685671756144642>",
"uv_rsmi": "<:uv_rsmi:1538685671282180217>",
"ev_rsmi": "<:ev_rsmi:1538685670308978751>",
"ha_rsmi": "<:ha_rsmi:1538685669508128798>",
"ho_rsmi": "<:ho_rsmi:1538685668639772762>",
"hi_rsmi": "<:hi_rsmi:1538685667918352494>",
"hu_rsmi": "<:hu_rsmi:1538685666907398266>",
"he_rsmi": "<:he_rsmi:1538685666026586152>",
"ka_rsmi": "<:ka_rsmi:1538685665179336704>",
"ko_rsmi": "<:ko_rsmi:1538685664202199110>",
"ki_rsmi": "<:ki_rsmi:1538685663371731105>",
"ku_rsmi": "<:ku_rsmi:1538685662532997130>",
"ke_rsmi": "<:ke_rsmi:1538685661106806885>",
"ga_rsmi": "<:ga_rsmi:1538685660502827108>",
"go_rsmi": "<:go_rsmi:1538685659621888050>",
"gi_rsmi": "<:gi_rsmi:1538685658778964048>",
"gu_rsmi": "<:gu_rsmi:1538685657252110427>",
"ge_rsmi": "<:ge_rsmi:1538685658091102208>",
"ah_rsmi": "<:ah_rsmi:1538685656413241475>",
"oh_rsmi": "<:oh_rsmi:1538685655381450782>",
"ih_rsmi": "<:ih_rsmi:1538685654102315160>",
"uh_rsmi": "<:uh_rsmi:1538685653146013706>",
"eh_rsmi": "<:eh_rsmi:1538685651602378863>",
"ak_rsmi": "<:ak_rsmi:1538685650738352298>",
"ok_rsmi": "<:ok_rsmi:1538685649748631592>",
"ik_rsmi": "<:ik_rsmi:1538685648792199350>",
"uk_rsmi": "<:uk_rsmi:1538685647664189470>",
"ek_rsmi": "<:ek_rsmi:1538685646770806844>",
"ag_rsmi": "<:ag_rsmi:1538685645869023303>",
"og_rsmi": "<:og_rsmi:1538685645143154719>",
"ig_rsmi": "<:ig_rsmi:1538685644509945856>",
"ug_rsmi": "<:ug_rsmi:1538685643243389009>",
"eg_rsmi": "<:eg_rsmi:1538685642526040084>",
"0a_rsmi": "<:0a_rsmi:1538685641737379931>",
"0o_rsmi": "<:0o_rsmi:1538685641079001210>",
"0i_rsmi": "<:0i_rsmi:1538685640353390652>",
"0u_rsmi": "<:0u_rsmi:1538685639732633681>",
"0e_rsmi": "<:0e_rsmi:1538685638789046392>",
"vent_rsmi": "<:vent_rsmi:1539673387561918575>",
"asob_rsmi": "<:asob_rsmi:1539673386093907978>",
"a_hrus": "<:a_hrus:1539050541189959780>",
"o_hrus": "<:o_hrus:1539050540430786670>",
"i_hrus": "<:i_hrus:1539050539663495248>",
"u_hrus": "<:u_hrus:1539050538983890975>",
"e_hrus": "<:e_hrus:1539050538132312125>",
"sa_hrus": "<:sa_hrus:1539050546550546563>",
"so_hrus": "<:so_hrus:1539050545397108820>",
"si_hrus": "<:si_hrus:1539050544696533013>",
"su_hrus": "<:su_hrus:1539050543391965354>",
"se_hrus": "<:se_hrus:1539050542087798784>",
"za_hrus": "<:za_hrus:1539050537180205128>",
"zo_hrus": "<:zo_hrus:1539050536379355136>",
"zi_hrus": "<:zi_hrus:1539050535347290162>",
"zu_hrus": "<:zu_hrus:1539050534579867749>",
"ze_hrus": "<:ze_hrus:1539050533501927425>",
"xa_hrus": "<:xa_hrus:1539050532973322330>",
"xo_hrus": "<:xo_hrus:1539050532075733064>",
"xi_hrus": "<:xi_hrus:1539050531060715613>",
"xu_hrus": "<:xu_hrus:1539050530054348820>",
"xe_hrus": "<:xe_hrus:1539050529332793354>",
"ja_hrus": "<:ja_hrus:1539050528691064912>",
"jo_hrus": "<:jo_hrus:1539050528011456574>",
"ji_hrus": "<:ji_hrus:1539050526874796113>",
"ju_hrus": "<:ju_hrus:1539050525742338138>",
"je_hrus": "<:je_hrus:1539050524761129020>",
"as_hrus": "<:as_hrus:1539050523871678544>",
"os_hrus": "<:os_hrus:1539050522932150322>",
"is_hrus": "<:is_hrus:1539050522273779743>",
"us_hrus": "<:us_hrus:1539050521531383848>",
"es_hrus": "<:es_hrus:1539050520449130517>",
"az_hrus": "<:az_hrus:1539050519572643930>",
"oz_hrus": "<:oz_hrus:1539050518859616448>",
"iz_hrus": "<:iz_hrus:1539050518012502027>",
"uz_hrus": "<:uz_hrus:1539050516875583519>",
"ez_hrus": "<:ez_hrus:1539050516175388772>",
"ta_hrus": "<:ta_hrus:1539050515491463218>",
"to_hrus": "<:to_hrus:1539050514531094528>",
"ti_hrus": "<:ti_hrus:1539050513528791080>",
"tu_hrus": "<:tu_hrus:1539050512106782770>",
"te_hrus": "<:te_hrus:1539050510936444959>",
"da_hrus": "<:da_hrus:1539050510240325735>",
"do_hrus": "<:do_hrus:1539050509519032350>",
"di_hrus": "<:di_hrus:1539050508839424190>",
"du_hrus": "<:du_hrus:1539050507828723837>",
"de_hrus": "<:de_hrus:1539050507069296640>",
"ca_hrus": "<:ca_hrus:1539050506285219870>",
"co_hrus": "<:co_hrus:1539050505463005214>",
"ci_hrus": "<:ci_hrus:1539050504791916554>",
"cu_hrus": "<:cu_hrus:1539050504041140254>",
"ce_hrus": "<:ce_hrus:1539050503244226741>",
"qa_hrus": "<:qa_hrus:1539050502434848808>",
"qo_hrus": "<:qo_hrus:1539050501344071708>",
"qi_hrus": "<:qi_hrus:1539050500131913728>",
"qu_hrus": "<:qu_hrus:1539050499385593898>",
"qe_hrus": "<:qe_hrus:1539050498596929606>",
"at_hrus": "<:at_hrus:1539051573920014387>",
"ot_hrus": "<:ot_hrus:1539051573219434567>",
"it_hrus": "<:it_hrus:1539051572305199194>",
"ut_hrus": "<:ut_hrus:1539051571370004630>",
"et_hrus": "<:et_hrus:1539051570493263972>",
"ad_hrus": "<:ad_hrus:1539051569545486426>",
"od_hrus": "<:od_hrus:1539051568559693974>",
"id_hrus": "<:id_hrus:1539051567523692577>",
"ud_hrus": "<:ud_hrus:1539051566508544084>",
"ed_hrus": "<:ed_hrus:1539051565644521502>",
"na_hrus": "<:na_hrus:1539050497573658654>",
"no_hrus": "<:no_hrus:1539050496545923082>",
"ni_hrus": "<:ni_hrus:1539050495635890206>",
"nu_hrus": "<:nu_hrus:1539050494780244009>",
"ne_hrus": "<:ne_hrus:1539050494029332561>",
"ma_hrus": "<:ma_hrus:1539050493291008131>",
"mo_hrus": "<:mo_hrus:1539050492510863421>",
"mi_hrus": "<:mi_hrus:1539050491244191824>",
"mu_hrus": "<:mu_hrus:1539050490166509659>",
"me_hrus": "<:me_hrus:1539050489272991856>",
"ya_hrus": "<:ya_hrus:1539050487767105617>",
"yo_hrus": "<:yo_hrus:1539050486701756496>",
"yi_hrus": "<:yi_hrus:1539050485858701317>",
"yu_hrus": "<:yu_hrus:1539050485108052099>",
"ye_hrus": "<:ye_hrus:1539050483778584697>",
"ra_hrus": "<:ra_hrus:1539050483052838973>",
"ro_hrus": "<:ro_hrus:1539050482230894722>",
"ri_hrus": "<:ri_hrus:1539050481475653714>",
"ru_hrus": "<:ru_hrus:1539050480460759180>",
"re_hrus": "<:re_hrus:1539050479504593006>",
"an_hrus": "<:an_hrus:1539050478212612096>",
"on_hrus": "<:on_hrus:1539050477470093414>",
"in_hrus": "<:in_hrus:1539050476392423524>",
"un_hrus": "<:un_hrus:1539050475687641148>",
"en_hrus": "<:en_hrus:1539050474953506816>",
"am_hrus": "<:am_hrus:1539050474026704966>",
"om_hrus": "<:om_hrus:1539050473246691388>",
"im_hrus": "<:im_hrus:1539050472558821376>",
"um_hrus": "<:um_hrus:1539050471543672832>",
"em_hrus": "<:em_hrus:1539050470776246404>",
"4a_hrus": "<:4a_hrus:1539050470100963459>",
"4o_hrus": "<:4o_hrus:1539050469240999936>",
"4i_hrus": "<:4i_hrus:1539050468582625321>",
"4u_hrus": "<:4u_hrus:1539050467705753681>",
"4e_hrus": "<:4e_hrus:1539050466808168548>",
"la_hrus": "<:la_hrus:1539050465856065687>",
"lo_hrus": "<:lo_hrus:1539050465029922987>",
"li_hrus": "<:li_hrus:1539050464287658037>",
"lu_hrus": "<:lu_hrus:1539050463519969340>",
"le_hrus": "<:le_hrus:1539050462907596880>",
"pa_hrus": "<:pa_hrus:1539050461980528761>",
"po_hrus": "<:po_hrus:1539050461112303676>",
"pi_hrus": "<:pi_hrus:1539050460281831554>",
"pu_hrus": "<:pu_hrus:1539050459422003251>",
"pe_hrus": "<:pe_hrus:1539050458642128917>",
"ba_hrus": "<:ba_hrus:1539050457849274428>",
"bo_hrus": "<:bo_hrus:1539050457169657966>",
"bi_hrus": "<:bi_hrus:1539050456293048371>",
"bu_hrus": "<:bu_hrus:1539050455374762004>",
"be_hrus": "<:be_hrus:1539050454648889476>",
"a4_hrus": "<:a4_hrus:1539050453583536169>",
"o4_hrus": "<:o4_hrus:1539050452652396614>",
"i4_hrus": "<:i4_hrus:1539050451474063450>",
"u4_hrus": "<:u4_hrus:1539050450559443044>",
"e4_hrus": "<:e4_hrus:1539050449737359402>",
"al_hrus": "<:al_hrus:1539050448806486127>",
"ol_hrus": "<:ol_hrus:1539050448051507261>",
"il_hrus": "<:il_hrus:1539050447044616203>",
"ul_hrus": "<:ul_hrus:1539050446075990016>",
"el_hrus": "<:el_hrus:1539050445228744795>",
"wa_hrus": "<:wa_hrus:1539050435535704166>",
"wo_hrus": "<:wo_hrus:1539050434830794893>",
"wi_hrus": "<:wi_hrus:1539050434021564456>",
"wu_hrus": "<:wu_hrus:1539050433195278467>",
"we_hrus": "<:we_hrus:1539050432343711835>",
"fa_hrus": "<:fa_hrus:1539050431915761814>",
"fo_hrus": "<:fo_hrus:1539050431211376681>",
"fi_hrus": "<:fi_hrus:1539050430581968956>",
"fu_hrus": "<:fu_hrus:1539050429550428240>",
"fe_hrus": "<:fe_hrus:1539050428530950245>",
"va_hrus": "<:va_hrus:1539050427801141339>",
"vo_hrus": "<:vo_hrus:1539050427100827739>",
"vi_hrus": "<:vi_hrus:1539050426429866014>",
"vu_hrus": "<:vu_hrus:1539050425679085648>",
"ve_hrus": "<:ve_hrus:1539050424265609306>",
"aw_hrus": "<:aw_hrus:1539050411862917260>",
"ow_hrus": "<:ow_hrus:1539050410633859167>",
"iw_hrus": "<:iw_hrus:1539050409526567043>",
"uw_hrus": "<:uw_hrus:1539050408729903177>",
"ew_hrus": "<:ew_hrus:1539050407882653747>",
"af_hrus": "<:af_hrus:1539050423443529738>",
"of_hrus": "<:of_hrus:1539050422629703690>",
"if_hrus": "<:if_hrus:1539050421656489984>",
"uf_hrus": "<:uf_hrus:1539050420796923966>",
"ef_hrus": "<:ef_hrus:1539050419949666306>",
"av_hrus": "<:av_hrus:1539050419077255238>",
"ov_hrus": "<:ov_hrus:1539050418166964314>",
"iv_hrus": "<:iv_hrus:1539050417562849311>",
"uv_hrus": "<:uv_hrus:1539050416770388070>",
"ev_hrus": "<:ev_hrus:1539050415952232458>",
"ha_hrus": "<:ha_hrus:1539050415340003338>",
"ho_hrus": "<:ho_hrus:1539050414585020566>",
"hi_hrus": "<:hi_hrus:1539050413909606441>",
"hu_hrus": "<:hu_hrus:1539050413259624478>",
"he_hrus": "<:he_hrus:1539050412580274286>",
"ka_hrus": "<:ka_hrus:1539050406817169500>",
"ko_hrus": "<:ko_hrus:1539050405953015848>",
"ki_hrus": "<:ki_hrus:1539050404552376482>",
"ku_hrus": "<:ku_hrus:1539050403877097574>",
"ke_hrus": "<:ke_hrus:1539050402983583844>",
"ga_hrus": "<:ga_hrus:1539050402371207279>",
"go_hrus": "<:go_hrus:1539050401381228594>",
"gi_hrus": "<:gi_hrus:1539050400378781768>",
"gu_hrus": "<:gu_hrus:1539050399510560808>",
"ge_hrus": "<:ge_hrus:1539050398713647184>",
"ah_hrus": "<:ah_hrus:1539050398059597844>",
"oh_hrus": "<:oh_hrus:1539050397182857318>",
"ih_hrus": "<:ih_hrus:1539050396280946708>",
"uh_hrus": "<:uh_hrus:1539050395605929994>",
"eh_hrus": "<:eh_hrus:1539050394745962517>",
"ak_hrus": "<:ak_hrus:1539050393877880862>",
"ok_hrus": "<:ok_hrus:1539050392971771944>",
"ik_hrus": "<:ik_hrus:1539050391873003570>",
"uk_hrus": "<:uk_hrus:1539050390929018930>",
"ek_hrus": "<:ek_hrus:1539050390190817320>",
"ag_hrus": "<:ag_hrus:1539050389045903491>",
"og_hrus": "<:og_hrus:1539050387875831809>",
"ig_hrus": "<:ig_hrus:1539050387133435916>",
"ug_hrus": "<:ug_hrus:1539050386571272233>",
"eg_hrus": "<:eg_hrus:1539050385761771540>",
"0a_hrus": "<:0a_hrus:1539050384679641139>",
"0o_hrus": "<:0o_hrus:1539050383807357028>",
"0i_hrus": "<:0i_hrus:1539050383094321212>",
"0u_hrus": "<:0u_hrus:1539050382263844994>",
"0e_hrus": "<:0e_hrus:1539050381475323904>",
"vent": "<:vent_hrus:1539673383900553216>",
"asob_hrus": "<:asob_hrus:1539673385162776659>"
}
szam = ('a','e','i','o','u')
mzam = ('b','c','d','f','g','h','j','k','l','m','n','p','q','r','4','s','t','v','w','x','y','z')
ozamnaj = ('x', 'j', 'c', 'q', 'y', 'p', 'r', 'b') # zam ke jamkinaj na sjouzam
def ozv(kir):
for k in ozamnaj:
if k == kir:
return 0
return 1
def szomz(kir):
for k in szam:
if k == kir:
return 1
for k in mzam:
if k == kir:
return 0
return -1
while token is None: token = os.getenv('DISCORD_TOKEN')
handler = logging.FileHandler(filename='discord.log', encoding='utf-8', mode='w')
intents = discord.Intents.default()
intents.message_content = True
# Client, syncing, and command tree setup stuff based off of a tutorial by @James_S on Youtube
class Client(commands.Bot):
pass
# async def on_ready(self):
# print("i am alive")
# try:
# guild = discord.Object(id=)
# synced = await self.tree.sync(guild=guild)
# print(f'Synced {len(synced)} commands')
# except Exception as e:
# print(f'Error syncing commands: {e}')
client = Client(command_prefix='!', intents=intents)
@client.tree.command(name="tk", description="Kavařı latınkaku na trekaku made")
async def tk(interaction: discord.Interaction, fras: str, fal: Literal["rasmi", "rs", "herus", "hr"] = "rasmi"):
fras = fras.lower()
if len(fras) > 2000:
await interaction.response.send_message("Obapıtka fras!", ephemeral=True)
return
if fal == "rasmi" or fal == "rs": fal = "_rsmi"
elif fal == "herus" or fal == "hr": fal = "_hrus"
trekaku = [""]
rofaj = deque([])
des = ''
bidra = False
nil = False
ekso = -1
pitka = 0
kaj = set()
doko = len(fras)
kajkaku = ""
oharetk = True
obakaku = len(interaction.user.mention) + 6
# def lasa(nilve = False):
# if szomz(des) == 1:
# if not bidra and not nil: rofaj.append(tajkna[des + fal])
# if nilve: nil = True
# else : des = ''
# elif des != '':
# kaj.add(doko + 1)
# des = ''
# if pitka > 0:
# kaj.add(range(doko + 1, doko + pitka + 1))
# pitka = 0
# bidra = False
# if not nilve: nil = False
# how do you pass by reference in python
for k in reversed(fras):
doko -= 1
if k == '|' or k == '!' or k == '.' or k == ',' or k == '\"':
if szomz(des) == 1:
if not bidra and not nil: rofaj.append(tajkna[des + fal])
des = ''
elif des != '':
kaj.add(doko + 1)
des = ''
if pitka > 0:
for i in range(doko + 1, doko + pitka + 1):
kaj.add(i)
pitka = 0
if k == '|':
rofaj.append('\n')
elif k == '!':
rofaj.append(tajkna["asob" + fal])
elif k == '.' or k == ',':
rofaj.append(tajkna["vent" + fal])
elif k == '\"':
if ekso > -1:
ekso = -1
else:
ekso = doko
bidra = False
nil = False
elif ekso > -1: rofaj.append(k)
elif szomz(k) == 1:
if k == des and nil:
rofaj.append(tajkna['0'+des+fal])
des = ''
if szomz(des) == 0:
rofaj.append(tajkna[k + des + fal])
bidra = True
elif szomz(des) == 1:
if not bidra or k == des:
rofaj.append(tajkna[des+fal])
else:
bidra = False
if pitka > 0:
for i in range(0, pitka):
rofaj.append(tajkna[k+fal])
pitka = 0
des = k
nil = False
elif szomz(k) == 0:
if pitka > 0:
for i in range(doko + 1, doko + pitka + 1):
kaj.add(i)
pitka = 0
bidra = False
if szomz(des) == 1 and not nil:
rofaj.append(tajkna[k+des+fal])
des = ''
else:
if szomz(des) == 0:
kaj.add(doko+1)
if ozv(k) == 1:
des = k
else:
kaj.add(doko)
des = ''
nil = False
elif k == ' ':
if szomz(des) == 1:
if not bidra and not nil: rofaj.append(tajkna[des + fal])
nil = True
elif des != '':
kaj.add(doko+1)
des = ''
if pitka > 0:
for i in range(doko + 1, doko + pitka + 1):
kaj.add(i)
pitka = 0
bidra = False
elif k == '-':
pitka += 1
else:
if des != '': kaj.add(des)
kaj.add(doko)
bidra = False
if pitka > 0:
for i in range(doko, doko + pitka):
kaj.add(i)
if ekso > -1:
kaj.add(ekso)
if szomz(des) == 1:
if not bidra: rofaj.append(tajkna[des+fal])
elif des != '':
kaj.add(doko)
while len(rofaj) > 0:
trekaku[0] += rofaj.pop()
for k in trekaku[0]:
if k != '\n':
oharetk = False
if len(kaj) > 0:
for k in range(0, len(fras)):
if k in kaj:
if not k-1 in kaj: kajkaku += "**"
kajkaku += fras[k]
if not k+1 in kaj: kajkaku += "**"
else: kajkaku += fras[k]
while len(trekaku[len(trekaku)-1]) > 2000-obakaku:
lasa = 1999-obakaku
kesjteve = False
while trekaku[len(trekaku)-1][lasa] != '\n' and lasa > 999:
lasa -= 1
if lasa <= 999:
lasa = 1999-obakaku
while trekaku[len(trekaku)-1][lasa] != '>':
lasa -= 1
lasa += 1
else: kesjteve = True
if kesjteve: trekaku.append(trekaku[len(trekaku)-1][lasa+1:])
else: trekaku.append(trekaku[len(trekaku)-1][lasa:])
trekaku[len(trekaku)-2] = trekaku[len(trekaku)-2][:lasa]
if len(kaj) > 0:
await interaction.response.send_message("Gomen! Fsjtonaȷ un gı fxu kıřaȷn afto:\n" + kajkaku, ephemeral=True)
elif oharetk:
await interaction.response.send_message("Jam nıl kıřaȷn!", ephemeral=True)
else:
await interaction.response.send_message("Mj&a..", ephemeral=True, delete_after=0)
await interaction.channel.send(interaction.user.mention+': '+trekaku[0],silent=True)
for t in range(1,len(trekaku)):
await interaction.channel.send('['+str(t+1)+']'+interaction.user.mention+': '+trekaku[t], silent=True)
@client.tree.command(name = "tktsujte", description = "Leřa oba trekaku")
async def tktsujte(interaction: discord.Interaction, tsujte: Literal["tsujte", "fal", "skala", "trekaku", "tastatropos"] = "tsujte"):
if tsujte == "tsujte": await interaction.response.send_message("## Tsuȷte\n-# /tktsujte xyz\n\nTsujte: Tumam tsuȷ tsuȷte na /tktsujte (afto)\nFal: Tumam tsuȷ fal\nSkala: Skala tsuȷ trekakuzam\nTrekaku: Leřa kaku trekaku\nTastatropos: Tropos per tasta trekaku", ephemeral=True)
elif tsujte == "fal": await interaction.response.send_message("## Fal\n__Rasmı__:\n- ffj&ka: <:a_rsmi:1538685827918331904>\n- luna: <:luna_rsmi:1539053107370004541>\n- ısjı: <:isji_rsmi:1539053106304909362>\n- tsunagalen: <:tsunaga_rsmi:1539500632866816060>\n__Heřus__:\n- ffj&ka: <:a_hrus:1539050541189959780>\n- luna: <:luna_hrus:1539053105159606382>\n- ısjı: <:isji_hrus:1539053104266354688>\n- tsunagalen: <:tsunaga_hrus:1539500631906197504>", ephemeral=True)
elif tsujte == "skala": await interaction.response.send_message(file=discord.File("skala.png"), ephemeral=True)
elif tsujte == "trekaku": await interaction.response.send_message("## Trekaku\nHaȷzja trekaku __tre__kaku grÿn jam tre tel mono: ffj&ka (<:a_rsmi:1538685827918331904>), luna (<:luna_rsmi:1539053107370004541>), a ısjı (<:isji_rsmi:1539053106304909362>). Nasıkı hê napaŷat per maxa 185 taȷkna.\n### Kotolı\n- Jıtzam: taȷkna ke jam medzam na xazjı (ttb \"ta\")\n- Sjouzam: taȷkna ke jam medzam na ovařı (ttb \"ak\")\n- Jıtsjou: sılba ke jam jıtzam a sjouzam (ttb \"tak\")\n- Tolkaffj&ka: sılba ke jamnaȷ medzam (ttb \"a\")\n- Atamaısjı: ısjı oba ffj&ka (<:atamaisji_ttb:1539388726830956704>)\n- Jalakaısjı: ısjı una ffj&ka (<:jalakaisji_ttb:1539388729402335413>)\n- Obaısjı: ısjı oba luna (<:obaisji_ttb:1539388723244965969>)\n- Unaısjı: ısjı una luna (<:unaisji_ttb:1539388722246852669>)\n- Iñeısjı: ısjı ıñe luna (<:injeisji_ttb:1539388724352389120>)\n- Bısjı: ısjı una ffj&katama (<:bisji_ttb:1539388721248346133>)\n- Pısjı: ısjı oba ffj&kalaka (<:pisji_ttb:1539388719952429128>)\n- Nılzam: ffj&ka ke jam ısjı uten luna (<:0a_rsmi:1538685641737379931>)\n### Ffj&ka\nJam taȷkna al ffj&ka per bloge sebjazam na sılba. Fansuka sebjazam aker na ffj&ka (leřakı mıt skala). Lı jam taȷkna uten luna os ısjı, sıt zam sořı sebjazam mono. Kakukı plus tolkaffj&ka za jıtzam os tolkaffj&ka per pıtkaoc sebjazam.\n### Luna\nJam eksı medzamklaanı ke blogena lunadoko (leřakı mıt skala). Jam kjeře kjeřeklaanı (ke jam kjeře medzam natont) a nı treklaanı (ke jam tre medzam natont).\n### Isjı\nJam klaanı tont joku tre kjeře medzam ke blogena ısjıdoko. Na skala, kakuyena medzamtumam na paŷat sama ke taȷknatumam tsuȷ ısjıdoko. Gjakenakı joku medzam (utenısjı a obaısjı na kjeřeklaanı a al na treklaanı) per maxa sjouzam (leřakı gjaketropos mıt skala). Maxakı jıtsjou mıt jıtzam, za sjouzam. (ttb jam <:ta_rsmi:1538685776445964298> (ta) a <:ak_rsmi:1538685650738352298> (ak) na <:ta_rsmi:1538685776445964298><:ak_rsmi:1538685650738352298> (tak)). Nasıkı tolkaffj&ka melan jıtsjou per pıtkaoc sebjazam. Æn, nasıkı nılzam per lasa sebjazam kundr pıtkaoc os jıtsjou.", ephemeral=True)
elif tsujte == "tastatropos": await interaction.response.send_message("## Tastatropos\nTastakı trekaku mıt /tk [latınkaku] [fal] (musnaȷ sentaku fal, kakuyena na rasmıfal sentakunaȷlı). Leřakı ŵam na zam a latınkıřaȷn mıt skala, a sekı fal mıt /tktsujte fal. Jamæn joku taȷkna andr per apu kaku:\n- [ ] (Speȷsutaȷkna): Plÿvıktı jıtzam kena sjouzam na tkboto, sıt blı joku jıtzam dekılı na tsataȷn (ttb blı \"aku\" <:a_rsmi:1538685827918331904><:ku_rsmi:1538685662532997130>, <:ak_rsmi:1538685650738352298><:u_rsmi:1538685825750016051> naȷ). Lı vıl andr, sıt brÿkı speȷsutaȷkna per lasa (ttb, blı \"ak u\" <:ak_rsmi:1538685650738352298><:u_rsmi:1538685825750016051>). Brÿkı speȷsutaȷkna per nılzam melan sebjazam æn.\n- [-]: Nasıkı per pıtkaoc sebjazam lı vıl nadlabdel plus sebjazamtasta (ttb sama \"xuuu\" \"xu--\")\n- [|]: Nasıkı per suřuk kotoba\n- [.] os [,]: Nasıkı per ventpık (<:vent_rsmi:1539673387561918575>)\n- [!]: Nasıkı per asobpık (<:asob_rsmi:1539673386093907978>)\n- [\" \"]: Nasıkı per škekso trekaku", ephemeral=True)
client.run(token, log_handler=handler, log_level=logging.DEBUG)
# our_condition_wow = bool
#
# if our_condition_wow:
# pass
# elif 0:
# pass
# elif lambda param : not param:
# pass
# else:
# pass
#
# while our_condition_wow:
# pass
#
# our_string_wow = "this is a string" + " with something concatenated"
#
#
# our_iterable_object_wow = []
#
# for i in our_iterable_object_wow:
# pass
# else:
# pass
#
# try:
# pass
# except:
# pass
# else:
# pass
# finally:
# pass
#
#
# def our_function_wow(*our_parameters_wow):
# our_tuple_wow = our_parameters_wow
# return our_tuple_wow
#
# our_function_wow("parameter1","parameter2",5,7.8,True,["Jarona"],lambda param : param * 102)