# █████████████████████████████████████████
# █────██────█────█────█───█────█────█────█
# █─██──█─██─█─██─█─██─██─██─██─█─██─█─██─█
# █─██──█─██─█────█─██─██─██─██─█────█─██─█
# █─██──█─██─█─█─██─██─██─██─██─█─█─██─██─█
# █────██────█─█─██────██─██────█─█─██────█
# █████████████████████████████████████████
#
#
# Copyright 2022 t.me/Dorotoro
# https://www.gnu.org/licenses/agpl-3.0.html
# meta banner: https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroInlineTTS.png
# meta developer: @DorotoroMods
from telethon.tl.types import Message
from .. import loader, utils
@loader.tds
class InlineTTS(loader.Module):
"""Синтезирует текст в голос ваших любимых героев!Пример использования: .atts arthas Привет"""
strings = {"name": "InlineTTS"}
@loader.command()
async def atts(self, message: Message):
"<герой> <ваш текст> - синтезирует текст в голос героев из Warcraft III и обычных говорилок."
args = utils.get_args_raw(message)
if not args:
await utils.answer(
message,
(
"😱 | Чел... я"
" пустоту не озвучиваю."
),
)
return
reply = await message.get_reply_message()
async with self._client.conversation("@silero_voice_bot") as conv:
my_msg = await conv.send_message(args)
r = await conv.get_response()
if not r.media:
await my_msg.delete()
return await utils.answer(message, "Пожалуйста, выполните действие в личке с @silero_voice_bot, а после используйте команду .atts")
await message.respond(file=r, reply_to=reply.id if reply else None)
if message.out:
await message.delete()
@loader.command()
async def warcraftv(self, message):
"- список голосов для синтеза (Герои Warcraft III)"
await utils.answer(
message,
(
" 💬 Warcraft III Voices:\n\n arthas | kelthuzad"
" | anubarak | thrall | "
" grunt | cairne | rexxar |"
" uther | jaina | kael | "
" garithos | malev | naisha |"
" tyrande | furion | illidan"
" | ladyvashj | narrator |"
" medivh | villagerm | acolyte"
" | sylvanas | dread_bm | "
" dread_t | illidan_f | mannoroth "
" | muradin | peasant | priest"
" | sorceress | peon | "
" chen "
),
)
@loader.command()
async def silerov(self, message):
"- список голосов для синтеза (Silero)"
await utils.answer(
message,
(
"👾 Silero Voices:\n\n aidar | baya |"
" kseniya | xenia | eugene "
),
)
@loader.command()
async def halflifev(self, message):
"- список голосов для синтеза (Half-Life)"
await utils.answer(
message,
(
"🔫 Half-Life Voices:\n\n alyx | breen |"
" gman_e2 | father | barney"
" | gman | kleiner | "
" vort_e2 | vort "
),
)
@loader.command()
async def portalv(self, message):
"- список голосов для синтеза (Portal 2)"
await utils.answer(
message,
"🔮 Portal 2 Voices:\n\n glados | wheatley ",
)
@loader.command()
async def starcraftv(self, message):
"- список голосов для синтеза (Starcraft)"
await utils.answer(
message,
(
"🪅 Starcraft Voices:\n\n hanson | kerrigan "
" | stetmann | tosh | hill "
" | raynor | swann | tychus"
" | valerian "
),
)
@loader.command()
async def stalkerv(self, message):
"- список голосов для синтеза (STALKER)"
await utils.answer(message, "🛖 Stalker Voices:\n\nbandit")
@loader.command()
async def dotav(self, message):
"- список голосов для синтеза (Dota 2)"
await utils.answer(
message,
(
"ℹ Dota 2"
" Voices:\n\nannouncer | antimage |"
" batrider | bloodseeker |"
" bounty | bristle | clockwerk |"
" doom | earth | gyro |"
" huskar | juggernaut | kotl |"
" kunkka | lancer | lina |"
" luna | meepo | mortred |"
" omni | pudge | queen |"
" ranger | riki | shaker |"
" skywrath | sniper | storm |"
" templar | tide | treant |"
" tusk | windranger |"
" witchdoctor | wraith"
),
)
@loader.command()
async def lolv(self, message):
"- список голосов для синтеза (League of Legends)"
await utils.answer(
message,
(
"🏳️🌈 LOL Voices:\n\nevelynn | pantheon |"
" yuumi"
),
)
@loader.command()
async def zahmv(self, message):
"- список голосов для синтеза (Atomic Heart)"
await utils.answer(
message, (
"🫀 Atomic Heart"
"Voices: \n\nbabazina | hraz |"
" p3 | tereshkova"
),
)
@loader.command()
async def skyv(self, message):
"- список голосов для синтеза (Skyrim)"
await utils.answer(
message, (
" ⚔️ Skyrim"
" Voices:\n\nancano | astrid |"
" aventus | brynjolf/ |"
" delphine | elenwen |"
" emperor | esbern |"
" felldir | gormlaith |"
" hadvar | hakon |"
" hermaeus | kodlak |"
" maven | mercer |"
" mirabelle | motierre |"
" nazir | tsun |"
" tullius | ulfric |"
" vex | alduin |"
" dragon | odahviing |"
" paarthurnax | barbas |"
" dremora | hagraven |"
" f_child | m_child |"
" arngeir | ebony |"
" eorlund | falion |"
" farengar | farkas |"
" festus | m_argo |"
" m_bandit | m_citizen |"
" m_commander | m_commoner |"
" m_coward | m_darkelf |"
" m_drunk | m_forswon |"
" m_guard | m_haughty |"
" m_khajiit | m_nord |"
" m_orc | m_soldier |"
" malkoran | nazeem |"
" sven | tolfdir |"
" elisif | f_argo |"
" f_commander | f_commoner |"
" f_coward | f_darkelf |"
" f_haughty | f_haughty |"
" f_nord | f_orc |"
" f_shrill | f_sultry |"
" grelka | grelod |"
" lydia | olava"
),
)
@loader.command()
async def fallv(self, message):
"- список голосов для синтеза (Fallout 1 & 2)"
await utils.answer(
message, (
"💣 Fallout"
"Voices:\n\ndick | dornan |"
" elder | frank |"
" hakunin | harold |"
" marcus | master |"
" officer | overseer |"
" set | sulik |"
" aradesh | cabbot |"
" gizmo | harris |"
" harry | jain |"
" killian | laura |"
" lieutenant | loxley |"
" maxson | morpheus |"
" nicole | rhombus |"
" tandi | vree"
),
)
@loader.command()
async def postalv(self, message):
"- список голосов для синтеза (Postal 2)"
await utils.answer(
message, (
"🔫 Postal 2"
"Voices:\n\ndude | dude_cartoon"
),
)
@loader.command()
async def tfv(self, message):
"- список голосов для синтеза (Team Fortress)"
await utils.answer(
message, (
"🔫 Team Fortress"
"Voices:\n\ndemoman | engineer |"
" heavy | medic |"
" scout | sniper_tf |"
" soldier | spy"
),
)
@loader.command()
async def heartv(self, message):
"- список голосов для синтеза (Hearthstone)"
await utils.answer(
message, (
"💣 Hearthstone"
"Voices:\n\nakazamzarak | aranna |"
" arwyn | azalina |"
" brann | bob |"
" deathwhisper | dr_boom |"
" eudora | elise |"
" goya | greymane |"
" innkeeper | hancho |"
" kazakus | moroes |"
" omu | omnotron |"
" pollark | reno |"
" togwaggle | stelina |"
" vargoth | wagtoggle |"
" anarii | applebough |"
" floop | edra |"
" loti | malfurion |"
" tala | squeamlish |"
" zenda | arha |"
" arha | avozu |"
" belnaara | cardish |"
" draemus | flark |"
" lunara | putricide |"
" slate | shaw |"
" smiggs | brukan |"
" disidra | fireheart |"
" hesutu | hagatha |"
" ozara | rastakhan |"
" siamat | rhogi |"
" thunderking | zentimo |"
" dr_sezavo | zibb |"
" jolene | lanathel |"
" tekahn_boss | sthara |"
" jeklik | karastamper |"
" tekahn | marei |"
" aki | willow |"
" bolan | belloc |"
" glowtron | george"
" rasil | tarkus |"
" turalyon | timothy |"
" valdera | yrel_hs |"
" anduin | baechao |"
" illucia | haro |"
" lazul | oshi |"
" talanji | tyrande_hs |"
" awilo | zole |"
" biggs | chu |"
" dagg | dovo |"
" hannigan | ilza |"
" kizi | kasa |"
" kyriss | saurfang |"
" voone | tierra |"
" candlebeard | gallywix |"
" hooktusk | gnomenapper |"
" lilian | maiev_hs |"
" ol_toomba | myra |"
" thrud | valeera_hs |"
" isiset | kalec |"
" khadgar | katrana |"
" lilayell | malacrass |"
" norroa | mozaki |"
" robold | sinclari |"
" stargazer | wendy |"
" xurios | whirt |"
),
)
@loader.command()
async def metrov(self, message):
"- список голосов для синтеза (Metro)"
await utils.answer(
message, (
"🚝 Metro"
"Voices:\n\nbandit2 | bandit3 |"
" bridger2 | bridger1 |"
" bridger3 | forest1 |"
" forest3 | forest2 |"
" slave1 | slave2 |"
" tribal1 | slave3 |"
" tribal3 | krest |"
" cannibal2 | miller |"
" cannibal3 | merc1 |"
" merc2 | blackheart"
),
)
@loader.command()
async def hotsv(self, message):
"- список голосов для синтеза (HotS)"
await utils.answer(
message, (
"💣 Heroes of the Storm"
"Voices:\n\nangel | barbarian |"
" deckard | crusader |"
" demon | demonhunter |"
" witchdoctor_H | ana |"
" lucio | dva |"
" zarya | abathur |"
" kerrigan_h | alarak |"
" mechatassadar | mira |"
" adjutant | athena |"
" gardensdayannouncer | blackheart |"
" drekthar | ladyofthorns |"
" toy18 | necromancer |"
" volskaya | erik |"
" orphea | olaf"
),
)
@loader.command()
async def overv(self, message):
"- список голосов для синтеза (Overwatch)"
await utils.answer(
message, (
"💣 Overwatch"
"Voices:\n\ndoomfist | dva_ov |"
" roadhog | junker |"
" sigma | winston |"
" witchdoctor_H | zarya |"
" ana | baptiste |"
" zarya | brigitte |"
" kiriko | lucio_ov |"
" moira | mercy |"
" training_robot | zenyatta |"
" ashe | echo |"
" genji | cassidy |"
" hanzo | junkrat |"
" reaper | pharah |"
" sojourn | soldier_76 |"
" sombra | symmetra |"
" widowmaker | tracer |"
),
)
@loader.command()
async def ritav(self, message):
"- список голосов для синтеза (Rita)"
await utils.answer(
message, (
"💣 Rita"
"Voices:\n\nrita"
),
)
@loader.command()
async def evilv(self, message):
"- список голосов для синтеза (Evil Islands)"
await utils.answer(
message, (
"💣 Evil Islands"
"Voices:\n\nzak"
),
)
@loader.command()
async def valv(self, message):
"- список голосов для синтеза (Valorant)"
await utils.answer(
message, (
"💣 Valorant"
"Voices:\n\nbrimstone | sage |"
" harbor | sova"
),
)