Files
limoka/dorotorothequickend/DorotoroModules/Dota2RandomHero.py
2025-07-10 21:02:34 +03:00

699 lines
14 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.

# █████████████████████████████████████████
# █────██────█────█────█───█────█────█────█
# █─██──█─██─█─██─█─██─██─██─██─█─██─█─██─█
# █─██──█─██─█────█─██─██─██─██─█────█─██─█
# █─██──█─██─█─█─██─██─██─██─██─█─█─██─██─█
# █────██────█─█─██────██─██────█─█─██────█
# █████████████████████████████████████████
#
#
# Copyright 2022 t.me/Dorotoro
# https://www.gnu.org/licenses/agpl-3.0.html
#
# meta banner: https://raw.githubusercontent.com/dorotorothequickend/DorotoroModules/main/banners/DorotoroDota2RandomHero.png
# meta developer: @DorotoroMods
import random
from .. import loader, utils
hero1 = [
"Abbadon",
"Alchemist",
"Axe",
"Beastmaster",
"Brewmaster",
"Bristleback",
"Centaur Warrunner",
"Chaos Knight",
"Clockwerk",
"Dawnbreaker",
"Doom",
"Dragon Knight",
"Earth Spirit",
"Earthshaker",
"Elder Titan",
"Huskar",
"Io",
"Kunnka",
"Legion Commander",
"Lifestealer",
"Lycan",
"Magnus",
"Marci",
"Mars",
"Muerta",
"Night Stalker",
"Omniknight",
"Phoenix",
"Primal Beast",
"Pudge",
"Sand King",
"Slardar",
"Snapfire",
"Spirit Breaker",
"Sven",
"Tidehunter",
"Timbersaw",
"Tiny",
"Treant Protector",
"Tusk",
"Underlord",
"Undying",
"Wraith King",
"Anti-Mage",
"Broodmother",
"Arc Warden",
"Bloodseeker",
"Bounty Hunter",
"Clinkz",
"Drow Ranger",
"Ember Spirit",
"Faceless Void",
"Gyrocopter",
"Hoodwink",
"Juggernaut",
"Mirana",
"Luna",
"Medusa",
"Meepo",
"Monkey King",
"Morphling",
"Phantom Lancer",
"Razor",
"Phantom Assasin",
"Naga Siren",
"Nyx Assasin",
"Pangolier",
"Riki",
"Slark",
"Terrorblade",
"Shadow Fiend",
"Spectre",
"Sniper",
"Troll Warlord",
"Ursa",
"Vengeful Spirit",
"Venomancer",
"Viper",
"Weaver",
"Ancient Apparation",
"Bane",
"Batrider",
"Chen",
"Crystal Maiden",
"Dark Seer",
"Dark Willow",
"Dazzle",
"Death Prophet",
"Disruptor",
"Enchantress",
"Enigma",
"Grimstroke",
"Invoker",
"Jakiro",
"KOTL",
"Leshrac",
"Lich",
"Lina",
"Lion",
"Nature's Prophet",
"Necrophos",
"Puck",
"Pugna",
"QOP",
"Rubick",
"Skywrath Mage",
"Shadow Shaman",
"Shadow Demon",
"Silencer",
"Tinker",
"Storm Spirit",
"Techies",
"Visage",
"Warlock",
"Void Spirit",
"Windranger",
"Winter Wyvern",
"Zeus",
"Witch Doctor",
]
hero2 = [
"Abbadon",
"Alchemist",
"Axe",
"Beastmaster",
"Brewmaster",
"Bristleback",
"Centaur Warrunner",
"Chaos Knight",
"Clockwerk",
"Dawnbreaker",
"Doom",
"Dragon Knight",
"Earth Spirit",
"Earthshaker",
"Elder Titan",
"Huskar",
"Io",
"Kunnka",
"Legion Commander",
"Lifestealer",
"Lycan",
"Magnus",
"Marci",
"Mars",
"Muerta",
"Night Stalker",
"Omniknight",
"Phoenix",
"Primal Beast",
"Pudge",
"Sand King",
"Slardar",
"Snapfire",
"Spirit Breaker",
"Sven",
"Tidehunter",
"Timbersaw",
"Tiny",
"Treant Protector",
"Tusk",
"Underlord",
"Undying",
"Wraith King",
"Anti-Mage",
"Broodmother",
"Arc Warden",
"Bloodseeker",
"Bounty Hunter",
"Clinkz",
"Drow Ranger",
"Ember Spirit",
"Faceless Void",
"Gyrocopter",
"Hoodwink",
"Juggernaut",
"Mirana",
"Luna",
"Medusa",
"Meepo",
"Monkey King",
"Morphling",
"Phantom Lancer",
"Razor",
"Phantom Assasin",
"Naga Siren",
"Nyx Assasin",
"Pangolier",
"Riki",
"Slark",
"Terrorblade",
"Shadow Fiend",
"Spectre",
"Sniper",
"Troll Warlord",
"Ursa",
"Vengeful Spirit",
"Venomancer",
"Viper",
"Weaver",
"Ancient Apparation",
"Bane",
"Batrider",
"Chen",
"Crystal Maiden",
"Dark Seer",
"Dark Willow",
"Dazzle",
"Death Prophet",
"Disruptor",
"Enchantress",
"Enigma",
"Grimstroke",
"Invoker",
"Jakiro",
"KOTL",
"Leshrac",
"Lich",
"Lina",
"Lion",
"Nature's Prophet",
"Necrophos",
"Puck",
"Pugna",
"QOP",
"Rubick",
"Skywrath Mage",
"Shadow Shaman",
"Shadow Demon",
"Silencer",
"Tinker",
"Storm Spirit",
"Techies",
"Visage",
"Warlock",
"Void Spirit",
"Windranger",
"Winter Wyvern",
"Zeus",
"Witch Doctor",
]
hero3 = [
"Abbadon",
"Alchemist",
"Axe",
"Beastmaster",
"Brewmaster",
"Bristleback",
"Centaur Warrunner",
"Chaos Knight",
"Clockwerk",
"Dawnbreaker",
"Doom",
"Dragon Knight",
"Earth Spirit",
"Earthshaker",
"Elder Titan",
"Huskar",
"Io",
"Kunnka",
"Legion Commander",
"Lifestealer",
"Lycan",
"Magnus",
"Marci",
"Mars",
"Muerta",
"Night Stalker",
"Omniknight",
"Phoenix",
"Primal Beast",
"Pudge",
"Sand King",
"Slardar",
"Snapfire",
"Spirit Breaker",
"Sven",
"Tidehunter",
"Timbersaw",
"Tiny",
"Treant Protector",
"Tusk",
"Underlord",
"Undying",
"Wraith King",
"Anti-Mage",
"Broodmother",
"Arc Warden",
"Bloodseeker",
"Bounty Hunter",
"Clinkz",
"Drow Ranger",
"Ember Spirit",
"Faceless Void",
"Gyrocopter",
"Hoodwink",
"Juggernaut",
"Mirana",
"Luna",
"Medusa",
"Meepo",
"Monkey King",
"Morphling",
"Phantom Lancer",
"Razor",
"Phantom Assasin",
"Naga Siren",
"Nyx Assasin",
"Pangolier",
"Riki",
"Slark",
"Terrorblade",
"Shadow Fiend",
"Spectre",
"Sniper",
"Troll Warlord",
"Ursa",
"Vengeful Spirit",
"Venomancer",
"Viper",
"Weaver",
"Ancient Apparation",
"Bane",
"Batrider",
"Chen",
"Crystal Maiden",
"Dark Seer",
"Dark Willow",
"Dazzle",
"Death Prophet",
"Disruptor",
"Enchantress",
"Enigma",
"Grimstroke",
"Invoker",
"Jakiro",
"KOTL",
"Leshrac",
"Lich",
"Lina",
"Lion",
"Nature's Prophet",
"Necrophos",
"Puck",
"Pugna",
"QOP",
"Rubick",
"Skywrath Mage",
"Shadow Shaman",
"Shadow Demon",
"Silencer",
"Tinker",
"Storm Spirit",
"Techies",
"Visage",
"Warlock",
"Void Spirit",
"Windranger",
"Winter Wyvern",
"Zeus",
"Witch Doctor",
]
hero4 = [
"Abbadon",
"Alchemist",
"Axe",
"Beastmaster",
"Brewmaster",
"Bristleback",
"Centaur Warrunner",
"Chaos Knight",
"Clockwerk",
"Dawnbreaker",
"Doom",
"Dragon Knight",
"Earth Spirit",
"Earthshaker",
"Elder Titan",
"Huskar",
"Io",
"Kunnka",
"Legion Commander",
"Lifestealer",
"Lycan",
"Magnus",
"Marci",
"Mars",
"Muerta",
"Night Stalker",
"Omniknight",
"Phoenix",
"Primal Beast",
"Pudge",
"Sand King",
"Slardar",
"Snapfire",
"Spirit Breaker",
"Sven",
"Tidehunter",
"Timbersaw",
"Tiny",
"Treant Protector",
"Tusk",
"Underlord",
"Undying",
"Wraith King",
"Anti-Mage",
"Broodmother",
"Arc Warden",
"Bloodseeker",
"Bounty Hunter",
"Clinkz",
"Drow Ranger",
"Ember Spirit",
"Faceless Void",
"Gyrocopter",
"Hoodwink",
"Juggernaut",
"Mirana",
"Luna",
"Medusa",
"Meepo",
"Monkey King",
"Morphling",
"Phantom Lancer",
"Razor",
"Phantom Assasin",
"Naga Siren",
"Nyx Assasin",
"Pangolier",
"Riki",
"Slark",
"Terrorblade",
"Shadow Fiend",
"Spectre",
"Sniper",
"Troll Warlord",
"Ursa",
"Vengeful Spirit",
"Venomancer",
"Viper",
"Weaver",
"Ancient Apparation",
"Bane",
"Batrider",
"Chen",
"Crystal Maiden",
"Dark Seer",
"Dark Willow",
"Dazzle",
"Death Prophet",
"Disruptor",
"Enchantress",
"Enigma",
"Grimstroke",
"Invoker",
"Jakiro",
"KOTL",
"Leshrac",
"Lich",
"Lina",
"Lion",
"Nature's Prophet",
"Necrophos",
"Puck",
"Pugna",
"QOP",
"Rubick",
"Skywrath Mage",
"Shadow Shaman",
"Shadow Demon",
"Silencer",
"Tinker",
"Storm Spirit",
"Techies",
"Visage",
"Warlock",
"Void Spirit",
"Windranger",
"Winter Wyvern",
"Zeus",
"Witch Doctor",
]
hero5 = [
"Abbadon",
"Alchemist",
"Axe",
"Beastmaster",
"Brewmaster",
"Bristleback",
"Centaur Warrunner",
"Chaos Knight",
"Clockwerk",
"Dawnbreaker",
"Doom",
"Dragon Knight",
"Earth Spirit",
"Earthshaker",
"Elder Titan",
"Huskar",
"Io",
"Kunnka",
"Legion Commander",
"Lifestealer",
"Lycan",
"Magnus",
"Marci",
"Mars",
"Muerta",
"Night Stalker",
"Omniknight",
"Phoenix",
"Primal Beast",
"Pudge",
"Sand King",
"Slardar",
"Snapfire",
"Spirit Breaker",
"Sven",
"Tidehunter",
"Timbersaw",
"Tiny",
"Treant Protector",
"Tusk",
"Underlord",
"Undying",
"Wraith King",
"Anti-Mage",
"Broodmother",
"Arc Warden",
"Bloodseeker",
"Bounty Hunter",
"Clinkz",
"Drow Ranger",
"Ember Spirit",
"Faceless Void",
"Gyrocopter",
"Hoodwink",
"Juggernaut",
"Mirana",
"Luna",
"Medusa",
"Meepo",
"Monkey King",
"Morphling",
"Phantom Lancer",
"Razor",
"Phantom Assasin",
"Naga Siren",
"Nyx Assasin",
"Pangolier",
"Riki",
"Slark",
"Terrorblade",
"Shadow Fiend",
"Spectre",
"Sniper",
"Troll Warlord",
"Ursa",
"Vengeful Spirit",
"Venomancer",
"Viper",
"Weaver",
"Ancient Apparation",
"Bane",
"Batrider",
"Chen",
"Crystal Maiden",
"Dark Seer",
"Dark Willow",
"Dazzle",
"Death Prophet",
"Disruptor",
"Enchantress",
"Enigma",
"Grimstroke",
"Invoker",
"Jakiro",
"KOTL",
"Leshrac",
"Lich",
"Lina",
"Lion",
"Nature's Prophet",
"Necrophos",
"Puck",
"Pugna",
"QOP",
"Rubick",
"Skywrath Mage",
"Shadow Shaman",
"Shadow Demon",
"Silencer",
"Tinker",
"Storm Spirit",
"Techies",
"Visage",
"Warlock",
"Void Spirit",
"Windranger",
"Winter Wyvern",
"Zeus",
"Witch Doctor",
]
build = [
"Physical",
"Magic",
"with Aura items",
"Support",
"with 6 Divine Rapier's",
"with 6 boots",
"with 6 Blinks",
"without items",
"with Fluffy Hat"
]
randombuild = random.choice(build)
@loader.tds
class Dota2RandomHero(loader.Module):
strings = {"name": "Dota2RandomHero"}
@loader.command()
async def dota2hero(self, message):
"- выбирает рандомного героя из Dota 2"
randomhero = random.choice(hero1)
await utils.answer(
message,
f"<b><emoji document_id=5239991179226915011></emoji> Вам выпал герой:\n{randomhero}</b>",
)
@loader.command()
async def dota2build(self, message):
"- выбирает рандомный билд на героя из Dota 2."
randombuild = random.choice(build)
await utils.answer(
message,
f"<b><emoji document_id=5239991179226915011></emoji> Вам выпала сборка:\n{randombuild}</b>",
)
@loader.command()
async def dota2pick(self, message):
"- рандомный пик героев."
randompick = random.choice(hero1)
randompick2 = random.choice(hero2)
randompick3 = random.choice(hero3)
randompick4 = random.choice(hero4)
randompick5 = random.choice(hero5)
while (
randompick == randompick2
or randompick == randompick3
or randompick == randompick4
or randompick == randompick5
or randompick2 == randompick3
or randompick2 == randompick4
or randompick2 == randompick5
or randompick3 == randompick4
or randompick3 == randompick5
or randompick4 == randompick5
):
randompick = random.choice(hero1)
randompick2 = random.choice(hero2)
randompick3 = random.choice(hero3)
randompick4 = random.choice(hero4)
randompick5 = random.choice(hero5)
await utils.answer(
message,
f"<b><emoji document_id=5239991179226915011></emoji> Вам выпали герои:\n{randompick}\n{randompick2}\n{randompick3}\n{randompick4}\n{randompick5}</b>",
)
@loader.command()
async def dota2hb(self, message):
"- рандомный герой и рандомный билд."
randomhero = random.choice(hero1)
randombuild = random.choice(build)
await utils.answer(
message,
f"<b><emoji document_id=5239991179226915011></emoji> Вам выпал герой:\n{randomhero}</b> со сборкой <b>{randombuild}</b>",
)