# 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)