1105 lines
60 KiB
Python
1105 lines
60 KiB
Python
"""All user-facing text for TipiLAN Bot.
|
||
|
||
Edit this file to change any message, description, or flavour text
|
||
without touching any logic code.
|
||
"""
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Flavour text
|
||
# ---------------------------------------------------------------------------
|
||
|
||
WORK_JOBS: list[tuple[str, float]] = [
|
||
("paigaldasid aulas netikaableid", 1.0),
|
||
("paigaldasid aulas voolukaableid", 1.0),
|
||
("tõid poest korraldajatele pitsat", 1.0),
|
||
("konfigureerisid uue switchi", 1.0),
|
||
("vedasid laudu aulasse", 1.0),
|
||
("vedasid toole aulasse", 1.0),
|
||
("paigaldasid aulasse vahekardinaid", 1.0),
|
||
("aitasid üles seada turniiri lava", 1.0),
|
||
("töötasid baaris", 1.0),
|
||
("testisid helisüsteemi \"Erootikapoodi\" blastides", 1.0),
|
||
("juhendasid külastajaid infolauas", 1.0),
|
||
("seadistasid LAN serverit", 1.0),
|
||
("paigaldasid monitore", 1.0),
|
||
("ühendasid aulas kilpe", 1.0),
|
||
("aitasid LANil osalejat", 1.0),
|
||
("müüsid energiajooke", 1.0),
|
||
("tegid netikaableid", 1.0),
|
||
("lahendasid IP-konflikti", 1.0),
|
||
("parandasid kellegi arvutit", 1.0),
|
||
("tegid korda striimi heli (mitte nagu PGL)", 1.2),
|
||
("kirjutasid koodi miniturniiri jaoks", 1.2),
|
||
("võitsid turniiri", 1.5),
|
||
]
|
||
|
||
BEG_LINES: list[str] = [
|
||
"istusid kurva näoga oma monitori taga",
|
||
"palusid abi kellegi DMis",
|
||
"postitasid #abi kanalisse",
|
||
"vaatasid kadedusega teiste asju",
|
||
"kirjutasid /beg kolmandat korda järjest",
|
||
"küsisid oma tiimiliikmelt laenu",
|
||
"võtsid kiirlaenu",
|
||
"müüsid 3 sendi eest oma CSi skinne",
|
||
"korjasid kampuselt taarat",
|
||
"tegid TikToki live'i",
|
||
"refreshisid pangaäppi lootuses, et raha tekib",
|
||
"kirjutasid \"pls donate\" chatti",
|
||
"vaatasid oma tühja rahakotti",
|
||
"püüdsid kedagi guilt-trippida",
|
||
"lubasid exposure'it raha eest",
|
||
"mängisid kurba muusikat taustaks",
|
||
"teesklesid, et see on sotsiaalne eksperiment",
|
||
"kirjutasid emotsionaalse loo oma olukorrast",
|
||
"pakkusid vastu future equity't",
|
||
"tegite sõbraga koos kerjamisplaani",
|
||
"otsisid diivani vahelt sente",
|
||
"lubasid boostida kellegi ranki viieka eest",
|
||
"küsisid chatist, kas keegi teab kust tasuta V-Buckse saab",
|
||
"avastasid, et su krüptoportfell on sügavas miinuses",
|
||
]
|
||
|
||
BEG_JAIL_LINES: list[str] = [
|
||
"karjusid läbi trellide, et keegi münte läbi lükkaks",
|
||
"kirjutasid kongi seina peale oma PayPali aadressi",
|
||
"lubasid, et maksad järgmine kord vangi minnes tagasi",
|
||
"veensid valvurit, et oled tegelikult hea inimene",
|
||
"saatsid vanglast käsitsi kirjutatud kirja oma meeskonnale",
|
||
"pakkusid vahile tulevaste vihjete eest raha",
|
||
"koputasid morset vastu naaberkongi seina",
|
||
"üritasid vangla WiFit häkkida",
|
||
"lubasid teha tasuta IT-tööd vabanemise eest",
|
||
"üritasid lusikaga tunnelit kaevata",
|
||
"kirjutasid bug reporti vangla süsteemile",
|
||
"proovisid trellidest läbi pugeda, aga jäid kinni",
|
||
"pakkusid vangivalvurile oma Steami kontot vabanemise eest",
|
||
]
|
||
|
||
CRIME_WIN: list[str] = [
|
||
"häkkisid turniiri tulemuste tabelit",
|
||
"varastasid oma vastase hiire",
|
||
"varastasid oma vastase klaviatuuri",
|
||
"varastasid oma vastase kõrvaklapid",
|
||
"varastasid oma vastase monitori",
|
||
"varastasid oma vastase mikrofoni",
|
||
"müüsid võltsitud LANi pileteid",
|
||
"laenatasid kellegi GPUd ja ei tagastanud seda",
|
||
"laenatasid Filmiklubilt AUX-kaablit ja ei tagastanud seda",
|
||
"käivitasid DDoS rünnaku serverile",
|
||
"tegid oma shitcoin'idega pump and dump'i",
|
||
"kasutasid aimbotti ja keegi ei märganud",
|
||
"exploitisid mängu bugi enda kasuks",
|
||
"phishisid kellegi Steami konto",
|
||
"varastasid prize pooli raha",
|
||
"ühendasid enda krüptokaevandaja serverisse",
|
||
]
|
||
|
||
CRIME_LOSE: list[str] = [
|
||
"jäid turniiri adminile vahele",
|
||
"tõmbasid oma arvuti kaabli pistikust välja",
|
||
"kukutasid lahtise Red Bulli omale sülle",
|
||
"unustasid VPNi sisse lülitada",
|
||
"lagisid kriitilisel momendil",
|
||
"said banni otseülekande ajal",
|
||
"unustasid logid kustutada",
|
||
"sinu skript crashis valel hetkel",
|
||
"said reportitud mitme mängija poolt",
|
||
"sinu krüptokaevandaja süttis põlema",
|
||
"flashisid tervet oma tiimi",
|
||
"avastasid, et Windows otsustas keset mängu uuendama hakata",
|
||
]
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Slash command descriptions (shown in Discord's autocomplete)
|
||
# ---------------------------------------------------------------------------
|
||
|
||
CMD: dict[str, str] = {
|
||
"ping": "Vaata, kas bot on üleval",
|
||
"help": "Nimekiri kõikidest käskudest kategooriate kaupa",
|
||
"status": "Näita boti staatust ja ressursside kasutust",
|
||
"birthdays": "Näita kõigi liikmete sünnipäevi kuu järgi",
|
||
"check": "Laadi andmed, täida ID'd ja sünkroniseeri kõik liikmed",
|
||
"sync": "Sünkroniseeri käsklused Discordi serveriga",
|
||
"member": "Näita liikme andmeid tabelist",
|
||
"restart": "Tee taaskäivitus botile",
|
||
"shutdown": "Lülita bot välja (ilma taaskäivituseta)",
|
||
"pause": "Peata / jätka kõik käsklused (hooldusrežiim)",
|
||
"send": "Saada sõnum valitud kanalisse",
|
||
"balance": "Vaata enda (või kellegi teise) TipiCOINide saldot",
|
||
"daily": "Võta enda päevane TipiCOINi boonus",
|
||
"work": "Tööta ja teeni TipiCOINe (1h ooteaeg)",
|
||
"beg": "Kerja TipiCOINe (5min ooteaeg)",
|
||
"crime": "Proovi oma õnne kriminaalse tegevusega (2h ooteaeg)",
|
||
"rob": "Proovi kelleltki TipiCOINe varastada",
|
||
"heist": "Alusta grupirööv pangahoidlasse (min 2 mängijat, max 8, 4h serveri ooteaeg)",
|
||
"roulette": "Panusta TipiCOINe punasele, mustale või rohelisele (1/37 võimalus, 14x payout)",
|
||
"give": "Anna TipiCOINe teisele mängijale",
|
||
"leaderboard": "TipiBOTi edetabel - kes on kõige rikkam?",
|
||
"shop": "Sirvi TipiBOTi poodi",
|
||
"buy": "Osta ese TipiBOTi poodist",
|
||
"rps": "Kivi-paber-käärid mõne teise mängija vastu",
|
||
"slots": "Proovi oma õnne TipiBOTi mänguautomaadiga",
|
||
"request": "Kerja TipiCOINe teistelt mängijatelt - nagu crowdfunding, aga halvem",
|
||
"reminders": "Halda DM meeldetuletusi - kõik on vaikimisi sees, lülita need siin välja",
|
||
"cooldowns": "Vaata kõikide käskude ooteaegu",
|
||
"jailed": "Vaata, kes on praegu vanglas",
|
||
"rank": "Vaata oma EXP, taset ja edetabeli positsiooni",
|
||
"stats": "Vaata oma mängustatistikat",
|
||
"jailbreak": "Proovi vanglast põgeneda kasutades täringuid",
|
||
"adminseason": "[Admin] Lõpeta võistlus, teavita võitjaid ja lähtesta EXP",
|
||
"admincoins": "[Admin] Anna või võta TipiCOINe kasutajale/kasutajalt",
|
||
"adminjail": "[Admin] Saada kasutaja vangi",
|
||
"adminunjail": "[Admin] Vabasta kasutaja vangist",
|
||
"adminban": "[Admin] Keela kasutajal majandussüsteemis osaleda",
|
||
"adminunban": "[Admin] Eemalda majandussüsteemi keeld kasutajalt",
|
||
"adminreset": "[Admin] Lähtesta kasutaja majandusandmed",
|
||
"adminview": "[Admin] Vaata kasutaja majandusandmeid",
|
||
"allowchannel": "[Admin] Lisa kanal, kus bot võib vastata käsklustele",
|
||
"denychannel": "[Admin] Eemalda kanal lubatud kanalite nimekirjast",
|
||
"channels": "[Admin] Näita lubatud kanalite nimekirja",
|
||
"economysetup": "[Admin] Loo ja sea korda majandussüsteemi rollid",
|
||
"blackjack": "Mängi blackjacki TipiBOTi vastu",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Option descriptions (shown next to each parameter in Discord)
|
||
# ---------------------------------------------------------------------------
|
||
|
||
OPT: dict[str, str] = {
|
||
"admin_kasutaja": "Kasutaja",
|
||
"admin_põhjus": "Põhjus (saadetakse kasutajale DM kaudu)",
|
||
"admincoins_kogus": "Positiivne = anna, negatiivne = võta",
|
||
"adminjail_minutid": "Vangistamise kestus minutites",
|
||
"balance_kasutaja": "Mängija, kelle saldot vaadata (vaikimisi sina)",
|
||
"roulette_panus": "Panus TipiCOINides ('all' = kogu saldo)",
|
||
"roulette_värv": "Punane, must või roheline",
|
||
"give_kasutaja": "Kellele annad?",
|
||
"give_summa": "Kui palju annad? ('all' = kogu saldo)",
|
||
"buy_ese": "Eseme nimi (vaata /shop)",
|
||
"rps_panus": "Valikuline TipiCOINide panus ('all' = kogu saldo)",
|
||
"rps_vastane": "Väljakutse teisele mängijale (PvP)",
|
||
"slots_panus": "Panus TipiCOINides ('all' = kogu saldo)",
|
||
"request_summa": "Kui palju TipiCOINe vajad?",
|
||
"request_põhjus": "Miks sa vajad TipiCOINe?",
|
||
"request_sihtmärk": "Valikuline: kellelt täpselt palud (teised ei saa toetada)",
|
||
"send_kanal": "Kanal, kuhu sõnum saata",
|
||
"send_sõnum": "Sõnum, mida saata",
|
||
"allowchannel_kanal": "Kanal, kus bot võib vastata käsklustele",
|
||
"denychannel_kanal": "Kanal, kus bot ei või vastata käsklustele",
|
||
"rob_sihtmärk": "Kellelt röövid?",
|
||
"member_user": "Mängija, kelle infot tahad vaadata",
|
||
"rank_kasutaja": "Mängija, kelle taset tahad vaadata (vaikimisi sina)",
|
||
"stats_kasutaja": "Mängija, kelle statistikat tahad vaadata (vaikimisi sina)",
|
||
"adminseason_top_n": "Kui palju mängijaid võitis (vaikimisi 10)",
|
||
"blackjack_panus": "Panus TipiCOINides ('all' = kogu saldo)",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /help categories
|
||
# ---------------------------------------------------------------------------
|
||
|
||
HELP_CATEGORIES: dict[str, dict] = {
|
||
"üldine": {
|
||
"label": "🤖 Üldine",
|
||
"description": "Üldised käsklused",
|
||
"color": 0x57F287,
|
||
"fields": [
|
||
("/ping", "Vaata, kas bot on üleval"),
|
||
("/status", "Näita boti staatust ja ressursside kasutust"),
|
||
("/help", "Nimekiri kõikidest käskudest kategooriate kaupa"),
|
||
("/birthdays", "Näita kõigi liikmete sünnipäevi kuu järgi"),
|
||
],
|
||
},
|
||
"tipibot": {
|
||
"label": "🪙 TipiBOT",
|
||
"description": "TipiCOIN majandus",
|
||
"color": 0xF4C430,
|
||
"fields": [
|
||
("/balance [@user]", "Vaata enda (või kellegi teise) TipiCOINide saldot"),
|
||
("/rank [@user]", "Vaata oma EXP, taset, progressi ja edetabeli positsiooni. T2 pood avaneb tasemel 10, T3 tasemel 20."),
|
||
("/cooldowns", "Vaata kõikide käskude ooteaegu. Näitab ka vangla ooteaega."),
|
||
("/daily", "Võta enda päevane TipiCOINide boonus. 20h ooteaeg. Streak'i boonus: 3d=+50%, 7d=+100%, 14d=+200%."),
|
||
("/work", "Tööta ja teeni TipiCOINe (1h ooteaeg)"),
|
||
("/beg", "Kerja TipiCOINe (5min ooteaeg)"),
|
||
("/crime", "Proovi oma õnne kriminaalse tegevusega. 60% edu, 40% trahv + 30min vanglas. 2h ooteaeg."),
|
||
("/rob @user", "Proovi kelleltki TipiCOINe varastada. 45% edu. Ebaõnnestumisel saad trahvi."),
|
||
("/heist", "Alusta grupiröövi pangahoidlasse. Min 2 mängijat, max 8. 5 min ühinemisaeg. Õnnestumisel jagatakse saak võrdselt - ebaõnnestumisel 1h 30min vangis + trahv. 4h serveri ooteaeg (ei ole isiklik)."),
|
||
("/jailbreak", "Proovi vanglas olles täringuid visata, et duublit saada (3 katset). Duubli korral saad vabaks. Ebaõnnestumisel saad valida: maksa kautsjon (20-30% saldost, min 350 ⬡) või jää vanglasse kuni aja lõpuni."),
|
||
("/give @user <amount>", "Anna TipiCOINe teisele mängijale"),
|
||
("/leaderboard", "TipiBOTi edetabel - kes on kõige rikkam?"),
|
||
("/shop", "Sirvi TipiBOTi poodi"),
|
||
("/buy <item>", "Osta ese TipiBOTi poodist"),
|
||
("/request <amount> <reason> [target]", "Saada crowdfundingu taotlus. Keegi saab 'Toeta' nuppu vajutades raha kanda (taotlus kehtib 5 minutit)."),
|
||
("/reminders", "DM meeldetuletused on vaikimisi sees. Kasuta seda käsku, et lülitada sisse/välja, milliseid käsklusi meelde tuletada."),
|
||
],
|
||
},
|
||
"shop": {
|
||
"label": "🛍️ Pood",
|
||
"description": "TipiBOTi poe esemed ja nende efektid",
|
||
"color": 0xF4C430,
|
||
"fields": [
|
||
("<:TipiHIIR:1483004306012504128> Mängurihiir - 500 ⬡", "Teeni töötades 50% rohkem TipiCOINe."),
|
||
("<:TipiMATT:1483387697132208128> XL hiirematt - 600 ⬡", "Kerjamise ooteaeg 5min → 3min."),
|
||
("<:TipiKLAPID:1483387694083084349> Kõrvaklapid - 1200 ⬡", "Päevase boonuse ooteaeg 20h → 18h."),
|
||
("<:TipiPILET:1483004308353060904> LAN pilet (2025) - 1200 ⬡", "Päevane boonus on duubeldatud."),
|
||
("<:TipiVAC:1483004309510819860> Anticheat - 750 ⬡", "Röövimine sinu vastu ebaõnnestub. Pärast 2 kasutust pead ostma uue."),
|
||
("<:TipiBULL:1483004310924300409> Red Bull - 800 ⬡", "30% tõenäosus, et teenid töötades 3x rohkem."),
|
||
("<:TipiLAP:1483004307161874566> Botikoobas - 1500 ⬡", "RTX 5090 jooksutab botte 24/7. Päevane boonus genereerib 5% intressi sinu saldo pealt."),
|
||
("<:TipiLAUD:1483387695576125440> Reguleeritav laud - 3500 ⬡ *(T2)*", "/work teenib 25% rohkem (stackib mängurihiirega)."),
|
||
("<:TipiSERVER:1483387701032910969> Jellyfin server - 4000 ⬡ *(T2)*", "Röövimise edu tõenäosus 45% → 60%."),
|
||
("<:TipiMIC:1483387698499551313> Mikrofon - 2800 ⬡ *(T2)*", "Teeni 30% rohkem eduka /crime puhul."),
|
||
("<:TipiKLAVA:1483014339228078140> Mehhaaniline klaviatuur - 1800 ⬡ *(T2)*", "/beg teenib 2x rohkem."),
|
||
("<:TipiMONITOR:1483014340327243908> Ultralai monitor - 2500 ⬡ *(T2)*", "/work ooteaeg: 1h → 40min."),
|
||
("<:TipiCAT:1483014337663602718> CAT6 netikaabel - 3500 ⬡ *(T2)*", "/crime edu tõenäosus tõuseb 60% → 75%."),
|
||
("<:TipiMONITOR2:1483387699514839162> 360hz monitor - 7500 ⬡ *(T3)*", "Mänguautomaadi jackpot 10x → 15x, kolmik 4x → 6x."),
|
||
("<:TipiKARIKAS:1483014841148112977> TipiLANi trofee - 6000 ⬡ *(T3)*", "Streak ei nulli, kui sa mõne päeva vahele jätad."),
|
||
("<:TipiTOOL:1483014341648187613> Mänguritool - 9000 ⬡ *(T3)*", "/crime ebaõnnestumine ei saada sind vanglasse."),
|
||
],
|
||
},
|
||
"games": {
|
||
"label": "🎮 Mängud",
|
||
"description": "Lõbusad mängud",
|
||
"color": 0x5865F2,
|
||
"fields": [
|
||
("/roulette <bet> <colour>", "Panusta TipiCOINe punasele, mustale või rohelisele (1/37 võimalus, 14x payout)"),
|
||
("/rps [bet] [opponent]", "Kivi-paber-käärid mõne teise mängija vastu"),
|
||
("/slots <bet>", "Proovi oma õnne TipiBOTi mänguautomaadiga"),
|
||
("/blackjack <bet>", "Mängi blackjacki TipiBOTi vastu. Blackjack maksab 3:2. Kakskordistamine (double down) on võimalik vaid esimese käigu ajal."),
|
||
],
|
||
},
|
||
"admin": {
|
||
"label": "🔧 Admin",
|
||
"description": "Admin käsklused (peidetud tavaliste kasutajate eest)",
|
||
"color": 0xED4245,
|
||
"fields": [
|
||
("/check", "Laadi andmed, täida ID'd ja sünkroniseeri kõik liikmed"),
|
||
("/member @user", "Näita liikme andmeid tabelist"),
|
||
("/sync", "Sünkroniseeri käsklused Discordi serveriga"),
|
||
("/restart", "Tee taaskäivitus botile"),
|
||
("/send #channel message", "Saada sõnum valitud kanalisse"),
|
||
("/admincoins @user <amount> <reason>", "Anna või võta TipiCOINe kasutajale/kasutajalt"),
|
||
("/adminjail @user <minutes> <reason>", "Saada kasutaja vangi"),
|
||
("/adminunjail @user", "Vabasta kasutaja vangist"),
|
||
("/adminban @user <reason>", "Keela kasutajal majandussüsteemis osaleda"),
|
||
("/adminunban @user", "Eemalda majandussüsteemi keeld kasutajalt"),
|
||
("/adminreset @user <reason>", "Lähtesta kasutaja majandusandmed"),
|
||
("/adminview @user", "Vaata kasutaja majandusandmeid"),
|
||
("/allowchannel #channel", "Lisa kanal, kus bot võib vastata käsklustele"),
|
||
("/denychannel #channel", "Eemalda kanal lubatud kanalite nimekirjast"),
|
||
("/channels", "Näita lubatud kanalite nimekirja"),
|
||
("/adminseason [top_n]", "Lõpeta võistlus, teavita võitjaid ja lähtesta EXP"),
|
||
("/economysetup", "Loo ja sea korda majandussüsteemi rollid (ECONOMY + taseme rollid) boti rolli alla"),
|
||
],
|
||
},
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Repeated system messages
|
||
# ---------------------------------------------------------------------------
|
||
|
||
MSG_BANNED = "🚫 Sul keelati TipiBOTi majandussüsteemis osaleda."
|
||
MSG_SPAM_JAIL = "⚠️ Liiga kiire! Automaatsed skriptid/spam on keelatud. Oled **30 minutit vangis**. Kasuta `/jailbreak`, et varem välja pääseda."
|
||
MSG_PONG = "🏓 Pong!"
|
||
MSG_RESTART_DONE = "✅ Bot on taaskäivitatud!"
|
||
MSG_RESTARTING = "🔄 Taaskäivitan..."
|
||
MSG_SHUTTING_DOWN = "⛔ Lülitan boti välja..."
|
||
MSG_PAUSED = "⏸️ Bot on hooldusrežiimis - kõik käsklused on peatatud."
|
||
MSG_UNPAUSED = "▶️ Hooldusrežiim lõpetatud - käsklused on taas saadaval."
|
||
MSG_MAINTENANCE = "🔧 Bot on hetkel hoolduses. Proovi mõne hetke pärast uuesti."
|
||
MSG_SYNC_DONE = "✅ Käsud sünkroniseeritud!"
|
||
MSG_REMINDER = "⏰ **/{cmd}** on taas kasutamiseks valmis!\n-# Meeldetuletuste haldamiseks kasuta serveris `/reminders`."
|
||
MSG_LEVELUP = "⬆️ **{name}** jõudis **{level}. tasemele**!{extra}"
|
||
MSG_LEVELUP_ROLE = " 🎊 Uus tiitel: **{role}**!"
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /reminders dropdown options (cmd_key, label, description)
|
||
# ---------------------------------------------------------------------------
|
||
|
||
REMINDER_OPTS: list[tuple[str, str, str]] = [
|
||
("daily", "📅 /daily", "Päevane boonus (20t ooteaeg)"),
|
||
("work", "💼 /work", "Töö (1t ooteaeg, 40min monitoriga)"),
|
||
("beg", "🙏 /beg", "Kerjamine (5min ooteaeg)"),
|
||
("crime", "🦹 /crime", "Kuritegu (2t ooteaeg)"),
|
||
("rob", "🔫 /rob", "Rööv (2t ooteaeg)"),
|
||
]
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /slots outcome strings (title, colour)
|
||
# ---------------------------------------------------------------------------
|
||
|
||
SLOTS_TIERS: dict[str, tuple[str, int]] = {
|
||
"jackpot": ("<:TipiFIRE:1483431381668335687> JACKPOT!!!", 0xF4C430),
|
||
"triple": ("🎰 Kolmik!", 0x57F287),
|
||
"pair": ("🎰 Paar", 0x99AAB5),
|
||
"miss": ("<:TipICRY:1483431288852709387> Ei õnnestunud", 0xED4245),
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /roulette outcome strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
ROULETTE: dict = {
|
||
"emoji": {"punane": "🔴", "must": "⚫", "roheline": "🟢"},
|
||
"genitive": {"punane": "punase", "must": "musta", "roheline": "rohelise"},
|
||
"win_title": "{emoji} Võitsid!",
|
||
"lose_title": "{emoji} Kaotasid!",
|
||
"win_desc": "Ratas peatus **{genitive}** peal!{mult}\n+{change}\nSaldo: {balance}",
|
||
"lose_desc": "Ratas peatus **{genitive}** peal.\n-{change}\nSaldo: {balance}",
|
||
"spin_title": "🎰 Ratas keerleb...",
|
||
"spin_stop": "🎰 Ratas peatub...",
|
||
"spin_strip": "{s0} {s1} {s2} {s3} {s4}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /heist narrative story lines
|
||
# Placeholders: {leader}, {member}, {names}, {vehicle}
|
||
# ---------------------------------------------------------------------------
|
||
|
||
HEIST_STORY: dict = {
|
||
"vehicles": [
|
||
"Škoda",
|
||
"BMW",
|
||
"Lada",
|
||
"Mazda",
|
||
],
|
||
"arrival": [
|
||
"{leader} keerab nurga taga {vehicle} mootori kinni. Maskid ette. Keegi ei räägi.",
|
||
"{vehicle} peatub ühe kvartali kaugusel sihtmärgist. {leader}: *\"Pank on seal. Tegutseme plaani järgi.\"*",
|
||
"Meeskond astub {vehicle}st välja. {leader} kuulab kõrvamonitori. *\"Kaks valvurit, üks pimeala. Liigume nüüd.\"*",
|
||
"{leader} jälgib {vehicle}st sissepääsu. *\"Valvurite vahetus 40 sekundi pärast. See on meie ajaaken.\"*",
|
||
"Kell 3 öösel. Tänav on tühi. {vehicle} seisab väljas tühikäigul. {leader} tõmbab maski ette.",
|
||
"{vehicle} veereb aeglaselt vaiksesse pimedasse vahetänavasse. {leader}: *\"Viimane kontroll. Kõik valmis?\"*",
|
||
"{leader} koputab armatuurlauale. *\"Kui midagi läheb valesti, me lahkume kohe.\"* Vaikus vastuseks.",
|
||
"Tuul sahiseb mööda tühja tänavat. {vehicle} uksed avanevad korraga.",
|
||
"{member} kontrollib relva. {leader} vaatab kella. *\"Me oleme graafikus.\"*",
|
||
"{vehicle} tuled kustuvad. Linn jääb vaikseks. Nad liiguvad.",
|
||
],
|
||
"entry_sneaky": [
|
||
"{member} tõmbab kloonitud kaarti külgukse juures. Lukk klõpsab hääleta lahti.",
|
||
"Meeskond libiseb sisse laadimisestakaadi kaudu, riietatud öisteks koristajateks.",
|
||
"{leader} on kaks nädalat valvurite graafikut pähe õppinud. Röövlid kõnnivad sisse vahetuse ajal.",
|
||
"Võltsitud alltöövõtja kaardi abil saavad nad fuajeest läbi ilma lisaküsimuseta.",
|
||
"{member} lülitab välikaamerad sülearvutist välja. {leader} kõnnib sisse, nagu see oleks tema oma maja.",
|
||
"{member} kasutab signaaliblokeerijat. Häired ei jõua kunagi süsteemi.",
|
||
"{leader} avab ventilatsiooniluugi. *\"Läheme ülevalt.\"*",
|
||
"Turvamees haigutab. Sekund hiljem on ta seotud ja vaikselt nurka lohistatud.",
|
||
"{member} süstib lukku mikrokaamera. Mehhanism kaardistatakse sekunditega.",
|
||
],
|
||
"entry_loud": [
|
||
"{leader} lööb esiuksed lahti. *\"KÕIK PÕRANDALE - KOHE!\"*",
|
||
"Esmalt suitsugranaadid. Selleks ajaks, kui suits vaibub, on meeskond juba sees.",
|
||
"{leader} tulistab ühe lasu lakke. Haudvaikus. *\"Oleme siin seifi pärast! Kui teete koostööd, siis pääsete elusana.\"*",
|
||
"*\"Kui keegi ei liigu, ei saa keegi ka viga.\"* {leader} omab ruumi täielikku tähelepanu.",
|
||
"{member} lükkab kilbist elektri välja. Pimeduses juhib {leader} meeskonna mälu järgi edasi.",
|
||
"*\"See on rööv! Kõik pikali!\"* {leader} hääl kajab läbi saali.",
|
||
"Alarm hakkab ulguma juba enne, kui nad täielikult sisse jõuavad.",
|
||
"Klaas puruneb. Inimesed karjuvad. Täielik kaos.",
|
||
],
|
||
"inside": [
|
||
"{names} liiguvad kiiresti läbi fuajee, sidudes turvamehi postide külge kinni.",
|
||
"{member} katab väljapääsud. {leader} suundub otse seifi poole.",
|
||
"Üks kassapidajatest proovib käivitada vaikset häiret, kuid {member} märkab ta nihelemist ja peatab ta hoiatuslasuga.",
|
||
"{leader} hoiab töötajad rahulikuna samal ajal, kui teised suunduvad alumisele korrusele.",
|
||
"Turvakaamerad on tsüklil. {names} on korrusel üksi.",
|
||
"{member} kontrollib kellaaega. *\"Me oleme 30 sekundit ees.\"*",
|
||
"{leader} annab käemärgi. Meeskond jaguneb ilma sõnadeta.",
|
||
"Koridor on tühi. Liiga tühi. {leader} peatub hetkeks.",
|
||
"{names} liiguvad trepist alla, sammud summutatud.",
|
||
"Üks uks on lukus. {member} avab selle sekundiga.",
|
||
],
|
||
"vault": [
|
||
"Neljanda taseme ajalukuga seif. {member} tõmbab puuri välja. *\"Anna mulle kolm minutit.\"*",
|
||
"{leader} vaatab seifi ust. *\"Dünamiit.\"* Keegi ei vaidle.",
|
||
"{member} ühendub seifi juhtpaneeliga. Vana tarkvara. Ülevõtmine võtab 90 sekundit.",
|
||
"Seifil on käsikombinatsiooni lukk. Hea, et {leader} veetis kuu aega juhatajaga, teenides tema usaldust.",
|
||
"{member} paigutab lõhkeained. Meeskond astub tagasi. Üks kontrollitud plahvatus.",
|
||
"{leader} teeb magnetlukule tühistuse. Nagu õpikust võetud. Mehhanism annab järgi.",
|
||
"{member} higistab. *\"See pole standardlukk... anna mulle aega.\"*",
|
||
"{leader} kuulab vastu seifi ust. *\"Sees on liikumisandur.\"*",
|
||
"{member} lõikab läbi metallkihi nagu võid.",
|
||
"Ajurünnak. {leader} meenutab skeemi ja leiab nõrga koha.",
|
||
"{member} ühendab juhtmed ümber. Säde. Vaikus. Lukk avaneb.",
|
||
],
|
||
"vault_open": [
|
||
"Uks avaneb. Kuhi-kuhja järel raha, põrandast laeni. Täpselt nagu plaanitud.",
|
||
"*\"...jackpot.\"* {leader} piilub seifi sisse. Meeskond seisab hetkeks vaikuses.",
|
||
"{member} hakkab kotte täis laduma. {leader} piilub juba väljapääsu poole.",
|
||
"Puhas. Kiire. {names} on seifis ja täidavad kotte enne, kui tolm settib.",
|
||
"Seif on lahti. {leader} võtab hinge. *\"Okei. Kottidesse ja liikuma.\"*",
|
||
"{leader} naeratab esimest korda. *\"See oli seda väärt.\"*",
|
||
"Raha lõhn täidab õhu. {member}: *\"Võtame kõik.\"*",
|
||
"{names} töötavad vaikides. Iga liigutus loeb.",
|
||
"Kotid täituvad kiiremini kui oodatud.",
|
||
"{leader} pilk muutub tõsiseks. *\"Aeg otsas. Liigume.\"*",
|
||
],
|
||
"police_inbound": [
|
||
"Raadio krõbiseb. *\"Kõik üksused, relvastatud rööv Keskpangas-\"*",
|
||
"Väljas on kuulda eemalt ulguvaid sireene. {leader}: *\"Meil on umbes neli minutit. Liikuma.\"*",
|
||
"Punased ja sinised tuled vilguvad ülemistest akendest läbi. Varualarm käivitati.",
|
||
"Politsei helikopter skaneerib piirkonda prožektoriga. Aken sulgub kiiresti.",
|
||
"{member} kontrollib politsei skännerit. *\"Nad teavad. Kolm üksust, kaks minutit eemal.\"*",
|
||
"{member} kuulab raadiosidet. *\"Nad sulgevad kvartaleid.\"*",
|
||
"Sireenid lähenevad kiiremini kui plaanitud.",
|
||
"Helikopteri valgus libiseb üle akna. Liiga lähedal.",
|
||
],
|
||
"getaway_success": [
|
||
"Adrenaliin. {names} jooksevad {vehicle} juurde. Kõik sees. {leader} keerab mootori käima.",
|
||
"{member} haarab roolist. {leader} on kõrval. *\"Lähme.\"* Rahulikult.",
|
||
"{leader} libistab {vehicle} kõrvalteed pidi minema. Sireen kaugel taga. Nad on kiiremad.",
|
||
"Rohelised tuled. {vehicle} sõidab vaikselt mööda parklas ootavast patrullautost. Keegi ei märka.",
|
||
"{member} näitab teed. {leader} sõidab vaikselt läbi tagakvartali. Käed lõdvad.",
|
||
"{vehicle} rehvid vilisevad, kui nad pööravad kitsasse tänavasse.",
|
||
"{leader} sõidab ilma tuledeta. Ainult mälu juhib teda.",
|
||
"{member} vaatab kaarti. *\"Vasak, siis kohe parem!\"*",
|
||
"Mootor möirgab. Nad kaovad öösse.",
|
||
"{vehicle} libiseb läbi viimase rohelise tule.",
|
||
],
|
||
"getaway_fail": [
|
||
"{names} jooksevad {vehicle} juurde. Sireenid igalt poolt.",
|
||
"{member} haarab roolist. {leader} on kõrval. *\"Mine! MINE!\"*",
|
||
"{vehicle} kihutab tänavale, kuid helikopteri valgusvihk osutab neile. Kõik on nähtaval.",
|
||
"Kolm patrullautot jõuavad nende taha. {member} vaatab üle õla. *\"Nad on meil kannul.\"*",
|
||
"Raadio krõbiseb. *\"Sihtmärk kinnitatud. Blokeeri Liivalaia tänav.\"*",
|
||
"{vehicle} ei käivitu. {member}: *\"Päriselt ka või?!\"*",
|
||
],
|
||
"escape_success": [
|
||
"{names} murravad läbi perimeetri enne väravate sulgemist. Puhas põgenemine.",
|
||
"{leader} oli planeerinud kolm väljumisteed. Vaja läks ühte. {vehicle} kaob linna.",
|
||
"Kahe kvartali kaugusel asuv peibutushäire tõmbab üksused eemale. {names} on kadunud enne, kui keegi seifi kontrollib.",
|
||
"Naelribad? Juba eemaldatud. Teeblokk? Vale tänav. {leader} mõtles kõigele.",
|
||
"{vehicle} sõidab maanteele nagu poleks midagi juhtunud. {leader} hingab esimest korda tunnis välja.",
|
||
"*\"Oleme vabad.\"* {member} piilub kardinate tagant välja. Tühi tänav. Nad tegid ära.",
|
||
"{names} kaovad sügavale linna nagu neid poleks kunagi olnud.",
|
||
"Raadio jääb vaikseks. Keegi ei jälita enam.",
|
||
"{vehicle} jäetakse maha. Uus plaan aktiveerub.",
|
||
"{leader}: *\"See oli liiga lihtne...\"*",
|
||
],
|
||
"escape_fail": [
|
||
"Patrullauto lõikab {vehicle} teekonna sillal ära. Mõlemalt poolt ümbritsetud. Ongi läbi.",
|
||
"{member} kukutab koti. Kolm sekundit kõhklust - ja uksed on ümber piiratud.",
|
||
"Helikopter jälgib neid kuni pelgupaigani. Kõik väljapääsud on kaetud.",
|
||
"{leader} arvutab võimalusi. *\"Väljapääsu pole.\"* Käed lähevad üles.",
|
||
"Naelribad lõhuvad {vehicle} rehvid. Meeskond libiseb liikluse keskele seisma.",
|
||
"{vehicle} põrkub vastu teetõket. Mootor sureb. Igast suunast tuled.",
|
||
],
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /heist UI strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
HEIST_UI: dict[str, str] = {
|
||
"names_duo": "**{a}** ja **{b}**",
|
||
"names_sep": " & ",
|
||
"names_crew": "**{leader}** ja meeskond",
|
||
"btn_join": "Ühine röövimisega 🔫",
|
||
"btn_start": "Alusta kohe ▶",
|
||
"already_joined": "Sa oled juba sees!",
|
||
"only_organizer": "Ainult heisti algataja saab heisti alustada.",
|
||
"lobby_desc": "**Osalejad ({n}/{max}):**\n{names}\n\nÕnnestumise tõenäosus: **{chance}%**\n\n*Ühinemisaken sulgub <t:{ts}:R>*",
|
||
"cancel_desc": "Ei piisanud osalejaid (vajad vähemalt **{min}**). Heist tühistati.",
|
||
"started_title": "🔫 Grupirööv käib...",
|
||
"started_desc": "**{n}** osalejat alustasid heisti. Jälgi allpool!",
|
||
"story_title": "🔫 Grupirööv",
|
||
"win_desc": "**Osalejad:**\n{names}\n\nSaak jagati võrdselt.\n**Igaüks sai: +{payout}**",
|
||
"fail_desc": "**Osalejad:**\n{names}\n\nKõik osalejad saavad **1,5 tundi vangi** + trahv ~15% saldost.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Embed titles
|
||
# ---------------------------------------------------------------------------
|
||
|
||
TITLE: dict[str, str] = {
|
||
"daily": "📅 Päevane boonus",
|
||
"work": "💼 Töö",
|
||
"beg": "🙏 Kerjamine",
|
||
"crime_win": "<:TipiFIRE:1483431381668335687> Kuritegu õnnestus!",
|
||
"crime_fail": "<:TipiTROLL:1483431380166774895> Vahele jäid!",
|
||
"rob_win": "<:TipiFIRE:1483431381668335687> Rööv õnnestus!",
|
||
"rob_fail": "<:TipiTROLL:1483431380166774895> Rööv ebaõnnestus!",
|
||
"rob_anticheat": "<:TipiVAC:1483004309510819860> Anticheat peatas sind!",
|
||
"jailbreak": "🎲 Vanglast põgenemine",
|
||
"jailbreak_free": "🎲 <:TipiFIRE:1483431381668335687> DUUBEL! Oled vaba!",
|
||
"jailbreak_fail": "<:TipICRY:1483431288852709387> Kolm katset läbi!",
|
||
"jailbreak_miss": "🎲 <:TipICRY:1483431288852709387> Ei saanud duublit ({tries}/{max})",
|
||
"jailbreak_bail": "💸 Kautsjon",
|
||
"give": "<:TipiHEART:1483431377561976853> TipiCOINi ülekanne",
|
||
"stats": "📊 Mängustatistika",
|
||
"leaderboard_coins":"🪙 TipiBOTi edetabel - Mündid",
|
||
"leaderboard_exp": "📊 TipiBOTi edetabel - EXP / Tase",
|
||
"rps": "⚔️ Kivi, Paber, Käärid",
|
||
"rps_duel": "⚔️ KPK duell",
|
||
"rps_duel_active": "⚔️ KPK duell - käimas",
|
||
"rps_duel_done": "⚔️ KPK duell - lõppenud",
|
||
"rps_duel_cancel": "⚔️ KPK duell - tühistatud",
|
||
"rps_duel_expire": "⚔️ KPK duell - aegus",
|
||
"rps_duel_decline": "⚔️ KPK duell - keelduti",
|
||
"heist_lobby": "🔫 Grupirööv - kogunemine",
|
||
"heist_win": "<:TipiFIRE:1483431381668335687> Grupirööv õnnestus!",
|
||
"heist_fail": "<:TipiSKULL:1483431378929451028> Grupirööv ebaõnnestus!",
|
||
"heist_cancel": "🔫 Grupirööv tühistatud",
|
||
"request": "<:TipiHEART:1483431377561976853> Rahataotlus",
|
||
"reminders": "⏰ Meeldetuletused",
|
||
"cooldowns": "⏱️ Sinu ooteajad",
|
||
"adminseason": "🏆 Hooaeg lõppes!",
|
||
"economysetup": "⚙️ Majanduse seadistamine",
|
||
"blackjack": "🃏 Blackjack",
|
||
"blackjack_bj": "🃏 <:TipiFIRE:1483431381668335687> BLACKJACK!",
|
||
"blackjack_win": "<:TipiFIRE:1483431381668335687> Võitsid!",
|
||
"blackjack_lose": "<:TipiSKULL:1483431378929451028> Kaotasid!",
|
||
"blackjack_bust": "<:TipiSKULL:1483431378929451028> Üle 21 - kaotasid!",
|
||
"blackjack_push": "🤝 Viik!",
|
||
"blackjack_dbust": "<:TipiSKULL:1483431378929451028> Üle 21 - mõlemad kaotasid!",
|
||
"blackjack_dwin": "<:TipiFIRE:1483431381668335687> Topeltpanus võitis!",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Error / validation messages (use .format(**kwargs) for dynamic parts)
|
||
# ---------------------------------------------------------------------------
|
||
|
||
ERR: dict[str, str] = {
|
||
"positive_bet": "❌ Panus peab olema positiivne.",
|
||
"positive_amount": "❌ Summa peab olema positiivne.",
|
||
"positive_duration": "❌ Aeg peab olema positiivne.",
|
||
"admincoins_zero": "Kogus ei tohi olla 0.",
|
||
"missing_perms": "❌ Sul on vaja **Rollide haldamise** õigust selle käsu kasutamiseks.",
|
||
"generic_error": "❌ Tekkis viga: ```{error}```",
|
||
"send_failed": "❌ Sõnumi saatmine ebaõnnestus: ```{error}```",
|
||
"rob_self": "❌ Sa ei saa iseennast röövida.",
|
||
"rob_bot": "❌ Botti ei saa röövida.",
|
||
"rob_no_house": "❌ Kassa pole veel avatud.",
|
||
"rob_house_blocked": "❌ Panga seif on liiga hästi kaitstud. Kasuta `/heist` selle rüüstamiseks.",
|
||
"rob_too_poor": "❌ **{name}** on liiga vaene röövimiseks.",
|
||
"rob_target_jailed": "❌ **{name}** on vanglas - vabad inimesed ei saa vanglas olevaid röövida.",
|
||
"heist_active": "❌ Serveris on juba aktiivne grupirööv käimas! Oota, kuni see lõpeb.",
|
||
"heist_full": "❌ Grupirööv on täis!",
|
||
"heist_min_players": "❌ Grupiröövi alustamiseks on vaja vähemalt **{min}** osalejat.",
|
||
"broke": "<:TipICRY:1483431288852709387> Sul pole piisavalt TipiCOINi. Saldo: {bal}",
|
||
"broke_need": "<:TipICRY:1483431288852709387> Sul pole piisavalt TipiCOINi. Vajad veel {need}.",
|
||
"item_owned": "❌ Sul on see ese juba olemas.",
|
||
"item_not_found": "❌ Eset ei leitud.",
|
||
"item_level_req": "🔒 Selle eseme ostmiseks vajad **taset {min_level}** (sul on tase {user_level}). Teeni EXP-id kõiki käske kasutades.",
|
||
"not_your_game": "❌ See pole sinu mäng!",
|
||
"not_your_challenge":"❌ See väljakutse pole sulle!",
|
||
"not_your_menu": "❌ See ei ole sinu menüü.",
|
||
"give_self": "❌ Sa ei saa endale TipiCOINi anda.",
|
||
"give_bot": "❌ Botile ei saa TipiCOINi anda.",
|
||
"give_jailed": "❌ Oled vangis - vanglas ei saa TipiCOINi anda. Pääsed välja {ts}.",
|
||
"rps_self": "❌ Sa ei saa iseendale väljakutse esitada.",
|
||
"rps_bot": "❌ Botid on KPK-is liiga head.",
|
||
"not_jailed": "❌ Sa pole praegu vangis.",
|
||
"not_in_leaderboard":"❌ Sind pole veel edetabelis.",
|
||
"admin_ban_bot": "❌ Botti ei saa keelata.",
|
||
"admin_reset_bot": "❌ Kassa andmeid ei saa lähtestada.",
|
||
"member_not_found": "❌ **{name}** ei leitud tabelist.",
|
||
"request_self_fund": "❌ Sa ei saa oma taotlust ise rahastada.",
|
||
"request_self": "❌ Sa ei saa iseendalt paluda.",
|
||
"request_bot": "❌ Botid on teatavasti kitsid.",
|
||
"request_targeted": "❌ See taotlus on suunatud kasutajale **{name}**.",
|
||
"already_in_game": "❌ Sul on juba aktiivne mäng käimas!",
|
||
"invalid_amount": "❌ Sisesta kehtiv summa või 'all'.",
|
||
"fund_range": "❌ Sisesta summa vahemikus 1-{max}.",
|
||
"channel_only": "❌ Boti käske saab kasutada ainult nendes kanalites: {channels}",
|
||
"guild_only": "Seda käsku saab kasutada ainult serveris.",
|
||
"sheet_error": "❌ Tabeli laadimine ebaõnnestus: ```{error}```",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Cooldown messages (use .format(ts=...) - ts is a Discord timestamp string)
|
||
# ---------------------------------------------------------------------------
|
||
|
||
CD_MSG: dict[str, str] = {
|
||
"daily": "⏳ Järgmine boonus {ts}.",
|
||
"work": "⏳ Saad töötada {ts}.",
|
||
"beg": "⏳ Saad kerjata {ts}.",
|
||
"crime": "⏳ Saad uuesti proovida {ts}.",
|
||
"rob": "⏳ Saad uuesti röövida {ts}.",
|
||
"heist": "⏳ Saad uuesti heisti teha {ts}.",
|
||
"heist_global": "⏳ Pangahoidla alles kosub eelmisest röövist. Järgmine heist võimalik {ts}.",
|
||
"jailed": "<:TipiTROLL:1483431380166774895> Oled vangis! Pääsed välja {ts}. Kasuta `/jailbreak`, et varem välja pääseda.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Shop UI strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
SHOP_UI: dict[str, str] = {
|
||
"tier_1": "Tier 1 - Algaja",
|
||
"tier_2": "Tier 2 - Kogenud",
|
||
"tier_3": "Tier 3 - Legend",
|
||
"desc": "Saldo: {bal} · Osta käsuga `/buy`",
|
||
"owned": "✅ Olemas",
|
||
"owned_uses_1": "✅ Olemas ({uses} kasutus järel)",
|
||
"owned_uses_n": "✅ Olemas ({uses} kasutust järel)",
|
||
"locked": "🔒 Tase {min_lvl} nõutud *(sul on {user_lvl})*",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Blackjack in-game strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
BJ: dict[str, str] = {
|
||
"dealing": "*Jagame kaardid...*",
|
||
"result_field": "Tulemus",
|
||
"push_result": "±0 (panus tagasi)",
|
||
"doubled_label": "💰 *Topeltpanus: {total}*",
|
||
"btn_hit": "🃏 Võta kaart",
|
||
"btn_stand": "✋ Seisa",
|
||
"btn_double": "💰 Kahekordista (+{bet}⬡)",
|
||
"btn_split": "✂️ Split (+{bet}⬡)",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Shop item descriptions (keyed by SHOP dict key in economy.py)
|
||
# ---------------------------------------------------------------------------
|
||
|
||
ITEM_DESCRIPTIONS: dict[str, str] = {
|
||
"gaming_hiir": "400 DPI? ei, 3200 DPI. Teeni töötades 50% rohkem TipiCOINe.",
|
||
"hiirematt": "XXL formaat, ainult parimast kummist. Kerjamise ooteaeg 5min → 3min.",
|
||
"korvaklapid": "Noise-cancelling - kuuled ainult TipiCOINide kõlinat. Päevase boonuse ooteaeg 20h → 18h.",
|
||
"lan_pass": "Ametlik TipiLANi pilet (2025). Päevane boonus on duubeldatud.",
|
||
"energiajook": "Kolm Red Bulli järjest. 30% tõenäosus, et teenid töötades 3x rohkem.",
|
||
"gaming_laptop": "RTX 4090 jooksutab botte 24/7. Päevane boonus genereerib 5% intressi sinu saldo pealt.",
|
||
"anticheat": "VAC, EAC ja BattlEye korraga. Röövimine sinu vastu ebaõnnestub. **2 kasutust**, siis pead ostma uue.",
|
||
"reguleeritav_laud": "Seisad, istud, võidad. /work teenib 25% rohkem (stackib mängurihiirega).",
|
||
"jellyfin": "Isehostitav meediaserver - pähkli eest filme. Röövimise edu tõenäosus 45% → 60%.",
|
||
"mikrofon": "Parem helikvaliteet teeb sind usutavamaks. Teeni 30% rohkem eduka /crime puhul.",
|
||
"klaviatuur": "Klõbinad kostuvad üle kogu saali. /beg teenib 2x rohkem.",
|
||
"monitor": "240Hz ja 49 tolli. /work ooteaeg: 1h → 40min.",
|
||
"cat6": "Gigabit ping = ideaalne häkkimiskiirus. /crime edu tõenäosus tõuseb 60% → 75%.",
|
||
"monitor_360": "360Hz, 1ms, 4K. Mänguautomaadi jackpot 10x → 15x, kolmik 4x → 6x.",
|
||
"karikas": "Ainult legendidele. Streak ei nulli, kui sa mõne päeva vahele jätad.",
|
||
"gaming_tool": "Nii mugav, et isegi admin ei saa sind üles. /crime ebaõnnestumine ei saada sind vanglasse.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /help UI
|
||
# ---------------------------------------------------------------------------
|
||
|
||
HELP_UI: dict[str, str] = {
|
||
"footer": "TipiBOT • Vali kategooria allmenüüst",
|
||
"select_placeholder": "Vali kategooria...",
|
||
}
|
||
|
||
JAILED_UI: dict[str, str] = {
|
||
"title": "🔒 Praegu vanglas",
|
||
"empty": "Kõik on vabad! Vanglas pole kedagi.",
|
||
"entry": "• {mention} - vabaneb <t:{ts}:R>",
|
||
"footer": "{count} vang{plural}",
|
||
}
|
||
|
||
REMINDERS_UI: dict[str, str] = {
|
||
"select_placeholder": "Vali käsud, millest soovid meeldetuletust...",
|
||
"saved_on": "✅ Meeldetuletused sisse lülitatud: {names}",
|
||
"saved_off": "🔕 Kõik meeldetuletused välja lülitatud.",
|
||
"desc_active": "Praegu aktiivne: {status}\n\nMuuda valikut allpool.",
|
||
"desc_none": "Hetkel pole ühtegi meeldetuletust sisse lülitatud.\n\nVali allpool, millest soovid DM-i saada.",
|
||
"footer": "Bot DM-ib sulle, kui valitud käsk on taas kasutamiseks valmis.",
|
||
}
|
||
|
||
SHOP_BTN: dict[int, str] = {
|
||
1: "Tier 1",
|
||
2: "Tier 2",
|
||
3: "Tier 3",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /send UI strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
SEND_UI: dict[str, str] = {
|
||
"sent": "✅ Sõnum saadetud kanalisse {channel}!",
|
||
"forbidden": "❌ Mul pole õigust kanalisse {channel} kirjutada.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /allowchannel /denychannel /channels UI strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
MEMBER_UI: dict[str, str] = {
|
||
"title": "👤 {name}",
|
||
"age_field": "Vanus",
|
||
"age_val": "{age}a",
|
||
}
|
||
|
||
MEMBER_FIELDS: list[tuple[str, str]] = [
|
||
("Nimi", "Nimi"),
|
||
("Organisatsioon", "Organisatsioon"),
|
||
("Valdkond", "Valdkond"),
|
||
("Roll", "Roll"),
|
||
("Sünnipäev", "Sünnipäev"),
|
||
("Meil", "Meil"),
|
||
("Telefon", "Telefon"),
|
||
("Discord", "Discord"),
|
||
("User ID", "Kasutaja ID"),
|
||
("Discordis synced?", "Sünkroniseeritud"),
|
||
("Groupi lisatud?", "Grupis"),
|
||
]
|
||
|
||
ADMINVIEW_UI: dict[str, str] = {
|
||
"title": "🔍 {name} - majandusandmed",
|
||
"banned_yes": "🚫 JAH",
|
||
"banned_no": "✅ Ei",
|
||
"f_balance": "💰 Saldo",
|
||
"f_streak": "🔥 Streak",
|
||
"f_banned": "🚫 Keelatud",
|
||
"f_jailed": "🚔 Vangis kuni",
|
||
"f_items": "🎒 Esemed",
|
||
"f_uses": "🔢 Kasutused",
|
||
"f_last_daily": "⏱️ Viimati daily",
|
||
"f_last_work": "⏱️ Viimati work",
|
||
"f_last_crime": "⏱️ Viimati crime",
|
||
"footer": "ID: {uid}",
|
||
}
|
||
|
||
ECONOMYSETUP_UI: dict[str, str] = {
|
||
"created_field": "✅ Loodud",
|
||
"existing_field": "♻️ Juba olemas",
|
||
"footer": "Rollid on nüüd boti rolli all õiges järjekorras.",
|
||
}
|
||
|
||
CHANNEL_UI: dict[str, str] = {
|
||
"already_allowed": "ℹ️ {channel} on juba lubatud kanalite nimekirjas.",
|
||
"added": "✅ {channel} lisatud. Bot vastab käskudele nüüd ainult lubatud kanalites.",
|
||
"not_in_list": "ℹ️ {channel} pole lubatud kanalite nimekirjas.",
|
||
"removed": "✅ {channel} eemaldatud lubatud kanalite nimekirjast.",
|
||
"removed_last": "✅ {channel} eemaldatud. Lubatud kanalite nimekiri on nüüd tühi - bot vastab kõikides kanalites.",
|
||
"list_title": "📋 Lubatud kanalid",
|
||
"list_empty": "Lubatud kanalite nimekiri on **tühi** - bot vastab käskudele kõikides kanalites.\n\nKasuta `/allowchannel`, et piirata kindlatele kanalitele.",
|
||
"list_filled": "Bot vastab käskudele ainult nendes kanalites:\n\n{lines}\n\n-# Kasuta `/allowchannel` / `/denychannel` nimekirja muutmiseks.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /daily embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
DAILY_UI: dict[str, str] = {
|
||
"earned": "✅ Said {earned}!",
|
||
"interest": "<:TipiLAP:1483004307161874566> Bot Farm tootis: +{interest}",
|
||
"vip": "<:TipiPILET:1483004308353060904> LAN pilet boonus rakendus!",
|
||
"footer": "Streak: {streak_str} · Saldo: {balance}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /stats embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
STATS_UI: dict[str, str] = {
|
||
"economy_field": "💰 Majandus",
|
||
"economy_val": "Tipp-saldo: {peak}\nEluaegne tulu: {earned}\nEluaegne kaotus: {lost}",
|
||
"work_field": "🛠️ Töö & Kerja",
|
||
"work_val": "Töötanud: **{work}** korda\nKerjanud: **{beg}** korda",
|
||
"gamble_field": "🎲 Hasartmängud",
|
||
"gamble_val": "Panustatud kokku: {wagered}\nSuurim võit: {win}\nSuurim kaotus: {loss}\nSlotsi džekpotid: **{jackpots}** korda",
|
||
"crime_field": "🦹 Kuritegevus",
|
||
"crime_val": "Kuriteod: **{crimes}** ({succeeded} õnnestus)\nHeistid: **{heists}** ({heists_won} võideti)\nVangi sattunud: **{jailed}** korda\nKautsjon makstud: {bail}",
|
||
"social_field": "🤝 Sotsiaalne",
|
||
"social_val": "Kingitud: {given}\nSaadud: {received}",
|
||
"records_field": "🔥 Rekordid",
|
||
"records_val": "Pikim päevane streak: **{streak}** päeva",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /birthdays UI
|
||
# ---------------------------------------------------------------------------
|
||
|
||
BIRTHDAY_UI: dict[str, str] = {
|
||
"no_entries": "Sellel kuul sünnipäevi ei ole.",
|
||
"today": "täna 🎉",
|
||
"tomorrow": "homme",
|
||
"in_days": "{days}p pärast",
|
||
"footer": "Leht {month}/12 · {month_name}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /check summary strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
CHECK_UI: dict[str, str] = {
|
||
"sheet_stats_header": "📊 **Tabeli statistika** - {total} liiget",
|
||
"stat_ok": "✅ **{label}**: kõik täidetud",
|
||
"stat_warn": "⚠️ **{label}** puudub ({count}): {names}{more}",
|
||
"stat_more": " (+{count} veel)",
|
||
"stat_uid": "Kasutaja ID",
|
||
"stat_discord": "Discordi kasutajanimi",
|
||
"stat_bday": "Sünnipäev",
|
||
"done": "**Kontroll lõpetatud!**",
|
||
"already_ok": "✅ Juba korras: {count}",
|
||
"fixed": "🔧 Parandatud: {count}",
|
||
"not_found": "❓ Pole tabelis: {count}",
|
||
"bday_pings": "🎂 Sünnipäeva teavitused: {count}",
|
||
"errors": "⚠️ Vead: {count}",
|
||
"details_header": "**Üksikasjad:**",
|
||
"details_more": "... ja {count} rohkem",
|
||
"ids_filled": "\n🔑 Täideti **{count}** puuduvat kasutaja ID-d.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# Admin command responses and DMs
|
||
# ---------------------------------------------------------------------------
|
||
|
||
ADMIN: dict[str, str] = {
|
||
"coins_done": "{emoji} **{name}**: {verb} {coin} → saldo **{balance}**\n📝 Põhjus: {reason}",
|
||
"coins_dm": "{emoji} Admin muutis sinu TipiCOINi saldot: **{verb} {coin}**\n📝 Põhjus: *{reason}*\nUus saldo: **{balance} {coin}**",
|
||
"jail_done": "🚔 **{name}** on vangistatud {minutes} minutiks (vabaneb {ts}).\n📝 Põhjus: {reason}",
|
||
"jail_dm": "🚔 Admin saatis sind vanglasse **{minutes} minutiks**.\n📝 Põhjus: *{reason}*\nVabaneb {ts}.",
|
||
"unjail_done": "✅ **{name}** on vanglast vabastatud.",
|
||
"unjail_dm": "✅ Admin vabastas sind vanglast.",
|
||
"ban_done": "🚫 **{name}** on majandussüsteemist keelustatud.\n📝 Põhjus: {reason}",
|
||
"ban_dm": "🚫 Sind on TipiBOTi majandussüsteemist keelustatud.\n📝 Põhjus: *{reason}*",
|
||
"unban_done": "✅ **{name}** on majandussüsteemi keelust eemaldatud.",
|
||
"unban_dm": "✅ Sinu TipiBOTi majandussüsteemi keeld on tühistatud. Saad taas käske kasutada.",
|
||
"reset_done": "🗑️ **{name}** majandusandmed on lähtestatud.\n📝 Põhjus: {reason}",
|
||
"reset_dm": "🗑️ Admin lähtestas sinu TipiBOTi majandusandmed (saldo, esemed, streak).\n📝 Põhjus: *{reason}*",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /adminseason strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
SEASON: dict[str, str] = {
|
||
"top_header": "**Top mängijad EXP järgi:**",
|
||
"no_players": "Keegi ei teeninud EXP-i.",
|
||
"entry": "{prefix} {name} - {exp} EXP *(Tase {level})*",
|
||
"footer": "Kõigi EXP, mündid ja esemed lähtestati. Uus hooaeg algab kohe!",
|
||
"done": "✅ Hooaeg lõpetatud - EXP, mündid ja esemed lähtestatud.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /balance embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
BALANCE_UI: dict[str, str] = {
|
||
"saldo": "Saldo",
|
||
"streak": "Päeva streak",
|
||
"streak_val": "🔥 {streak}p",
|
||
"jailed_until": "🚔 Vangis kuni",
|
||
"items": "Esemed",
|
||
"uses_one": " *({uses} kasutus järel)*",
|
||
"uses_many": " *({uses} kasutust järel)*",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /cooldowns embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
COOLDOWNS_UI: dict[str, str] = {
|
||
"ready": "✅ Valmis",
|
||
"daily_line": "📅 **/daily** {status}{note}",
|
||
"work_line": "💼 **/work** {status}{note}",
|
||
"beg_line": "🙏 **/beg** {status}{note}",
|
||
"crime_line": "🦹 **/crime** {status}",
|
||
"rob_line": "🔫 **/rob** {status}",
|
||
"note_korvak": " *(korvaklapid: 18t)*",
|
||
"note_monitor": " *(monitor: 40min)*",
|
||
"note_hiirematt": " *(hiirematt: 3min)*",
|
||
"jailed": "\n🚔 **Vanglas** - vabaneb <t:{ts}:R>",
|
||
"jail_expired": "\n🔓 Vangla lõppes",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /rank embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
RANK_UI: dict[str, str] = {
|
||
"title": "📊 {name} - Tase {level}",
|
||
"field_title": "Tiitel",
|
||
"field_exp": "EXP",
|
||
"field_progress": "Progress → Tase {next}",
|
||
"progress_val": "`{bar}` {progress}/{needed} EXP",
|
||
"footer_t1": "Tase 10 avab T2 poe · Tase 20 avab T3 poe",
|
||
"footer_t2": "T2 pood avatud · Tase 20 avab T3 poe",
|
||
"footer_t3": "T2 ja T3 pood avatud",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /work embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
WORK_UI: dict[str, str] = {
|
||
"desc": "Sa {job} ja teenisid {earned}!",
|
||
"redbull": "\n<:TipiBULL:1483004310924300409> Red Bull aktiveerus - 3x boonus!",
|
||
"hiir": "\n<:TipiHIIR:1483004306012504128> Mängurihiir: +50% palk",
|
||
"laud": "\n<:TipiLAUD:1483387695576125440> Reguleeritav laud: +25% palk",
|
||
"balance": "\nSaldo: {balance}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /beg embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
BEG_UI: dict[str, str] = {
|
||
"desc": "Sa {text} ja said {earned}.",
|
||
"klaviatuur": "<:TipiKLAVA:1483014339228078140> Mehhaaniline klaviatuur: 2x tulu",
|
||
"balance": "Saldo: {balance}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /crime embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
CRIME_UI: dict[str, str] = {
|
||
"win_desc": "Sa {text} ja teenisid {earned}!",
|
||
"fail_base": "Sa {text} ja said trahvi {fine}.",
|
||
"fail_jailed": "\n\ud83d\udd12 Oled vangis! P\u00e4\u00e4sed {ts}.",
|
||
"fail_shield": "\n\ud83d\udee1\ufe0f Gaming Tool hoidis sind vanglast!",
|
||
"mikrofon": "\n<:TipiMIC:1483387698499551313> Mikrofon: +30% saak",
|
||
"cat6": "\n<:TipiCAT:1483014337663602718> CAT6: 75% edu t\u00f5en\u00e4osus",
|
||
"balance": "\nSaldo: {balance}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /rob embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
ROB_UI: dict[str, str] = {
|
||
"jackpot_desc": "💥 **JACKPOT!** Tegid TipiBOTi kassasse sisse ja varastasid {stolen}!\nSaldo: {balance}",
|
||
"win_desc": "Varastasid {stolen} kasutajalt **{name}**!\nSaldo: {balance}",
|
||
"anticheat_desc": "**{name}** kaitseb end Anticheati'ga - said trahvi {fine}.",
|
||
"anticheat_worn": "⚠️ Sinu **Anticheat** on kulunud! Osta uus `/buy` käsuga.",
|
||
"fail_desc": "Jäid vahele! Trahv: {fine}.\nSaldo: {balance}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /give embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
GIVE_UI: dict[str, str] = {
|
||
"desc": "**{giver}** andis {amount} kasutajale **{receiver}**.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /buy embed strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
BUY_UI: dict[str, str] = {
|
||
"title": "{emoji} {name} ostetud!",
|
||
"desc": "{description}\nUus saldo: {balance}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /jailbreak UI strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
JAILBREAK_UI: dict[str, str] = {
|
||
"btn_die1": "🎲 Viska 1. täring ({try_}/{max})",
|
||
"btn_die2": "🎲 Viska 2. täring",
|
||
"die1_desc": "1. täring: **{die}**\n\nNüüd viska 2. täring!",
|
||
"free_desc": "{d1} {d2}\n\n✅ Viskasid duubli - pääsesid vanglast!",
|
||
"miss_desc": "{d1} {d2}\n\n{left} katset jäänud. Proovi uuesti!",
|
||
"intro_desc": "Oled vangis kuni {ts}.\n\nViska täringuid ja proovi **duublit** saada - siis pääsed tasuta vabaks!\nSul on **{tries} katset**. Ebaõnnestumisel saad valida - maksa kautsjon **(20–30% saldost, min 350 ⬡)** või jää vanglasse kuni aja lõpuni.",
|
||
"already_bail": "Oled juba täringuid visanud. Ainuke väljapääs on kautsjon.\n\n💰 **Kautsjon: {min} – {max}** (20–30% saldost)\nSaldo: {bal} Väljas: {ts}",
|
||
"already_broke": "Oled juba täringuid visanud. Sul pole piisavalt raha kautsjoni maksmiseks.\n\n💰 Kautsjoni miinimum: **{min}** - sul on ainult {bal}\nVäljas: {ts}",
|
||
"bail_btn": "💸 Maksa kautsjon",
|
||
"bail_broke_desc": "❌ Sul pole piisavalt raha (min {min}).\nJääd vanglasse kuni aja lõpuni! Saldo: {balance}",
|
||
"bail_paid_desc": "✅ Kautsjon makstud: **{fine}**\nOled vaba! Saldo: {balance}",
|
||
"fail_broke_desc": "{d1} {d2} - ei olnud duubel\n\n❌ Sul pole kautsjoni maksmiseks piisavalt raha (min 350 ⬡).\nJääd vanglasse kuni aja lõpuni! Saldo: {balance}",
|
||
"fail_bail_desc": "{d1} {d2} - ei olnud duubel\n\nKautsjon makstud: **{fine}**\nSaldo: {balance}",
|
||
"fail_bail_offer": "{d1} {d2} - ei olnud duubel\n\n💰 **Kautsjon: {min} - {max}** (20-30% saldost)\nSaldo: {bal}\n\nSaad maksta kautsjoni või jääda vanglasse kuni aja lõpuni.",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /leaderboard UI strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
LEADERBOARD_UI: dict[str, str] = {
|
||
"house_entry": "🤖 {name} *(maja)* - {balance}",
|
||
"no_entries": "Keegi ei ole veel punkte teeninud.",
|
||
"footer": "Lehekülg {page}/{total} · {count} mängijat",
|
||
"btn_coins": "🪙 Mündid",
|
||
"btn_exp": "📊 EXP",
|
||
"btn_find_me": "📍 Mina",
|
||
"exp_entry": "{prefix} {name} - {exp} EXP *(Tase {level})*",
|
||
"unknown_user": "Kasutaja {uid}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /slots additional UI strings (titles/footers per outcome)
|
||
# ---------------------------------------------------------------------------
|
||
|
||
SLOTS_UI: dict[str, str] = {
|
||
"playing": "🎰 Mängimas...",
|
||
"jackpot_footer": "<:TipiKARIKAS:1483014841148112977> Kolm karikat! +{change}",
|
||
"triple_footer": "✅ Kolm ühesugust! +{change}",
|
||
"pair_footer": "Kaks ühesugust! +{change}",
|
||
"miss_footer": "-{amount}",
|
||
"balance_line": "\nSaldo: {balance}",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /rps UI strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
RPS_UI: dict[str, str] = {
|
||
"vs_bot_desc": "Tee oma valik! ⬇️",
|
||
"vs_bot_bet": "\nPanus: {bet}",
|
||
"result_tie": "🤝 Viik!",
|
||
"result_win": "🎉 Sina võitsid!",
|
||
"result_lose": "🤖 Bot võitis!",
|
||
"result_desc": "Sina: {player_pick} {player_name}\nBot: {bot_pick} {bot_name}\n\n**{result}**{bet_line}",
|
||
"bet_win": "\n+{amount} · Saldo: {balance}",
|
||
"bet_lose": "\n-{amount} · Saldo: {balance}",
|
||
"bet_tie": "\nViik - panus tagasi · Saldo: {balance}",
|
||
"challenge_desc": "{challenger} kutsub välja {opponent}{bet}\n\n{opponent}, kas võtad vastu? ⬇️",
|
||
"challenge_bet": " · Panus: {bet}",
|
||
"challenge_footer": "Väljakutse aegub 60 sekundi pärast",
|
||
"duel_active_desc": "{a} vs {b}{bet}\n\nMõlemad mängijad valivad DM-is. ⏳",
|
||
"duel_active_bet": " · Panus: {bet}",
|
||
"duel_dm": "⚔️ **KPK vs {opponent}**{bet}\nTee oma valik! ⬇️",
|
||
"duel_dm_bet": "\nPanus: {bet}",
|
||
"duel_waiting": "Valisid {choice} **{name}**. Ootame vastase valikut... ⏳",
|
||
"duel_result_a": "**⚔️ KPK tulemus vs {opponent}**\nSinu valik: {pick_a} {name_a}\nVastase valik: {pick_b} {name_b}\n\n**{result}**{bet_line}\nSaldo: {balance}",
|
||
"duel_verdict_win": "🏆 **{name}** võitis!",
|
||
"duel_verdict_tie": "🤝 Viik!",
|
||
"duel_broke": "\n⚠️ Makse ebaõnnestus (ebapiisav saldo)",
|
||
"duel_expire_dm": "⏰ KPK duell aegus - keegi ei teinud valikut õigeaegselt.",
|
||
"duel_expire_desc": "{a} vs {b}\n\nMäng aegus - valik jäi tegemata.",
|
||
"duel_dm_fail": "Ei saanud DM saata: **{names}**. Kontrolli privaatsussätteid.",
|
||
"duel_decline": "**{name}** keeldus väljakutsest.",
|
||
"duel_no_answer": "**{name}** ei vastanud väljakutsele.",
|
||
"duel_insufficient": "{mention}-l pole piisavalt TipiCOINi panuseks.",
|
||
"duel_done_desc": "{a} {pick_a} vs {pick_b} {b}\n\n**{verdict}**\n\n{name_a}: {bal_a}\n{name_b}: {bal_b}",
|
||
"server_only": "Seda käsku saab kasutada ainult serveris.",
|
||
"btn_accept": "Võta vastu ✅",
|
||
"btn_decline": "Keeldu ❌",
|
||
"btn_rock": "🪨 Kivi",
|
||
"btn_paper": "📄 Paber",
|
||
"btn_scissors": "✂️ Käärid",
|
||
}
|
||
|
||
RPS_CHOICES: dict[str, str] = {
|
||
"🪨": "Kivi",
|
||
"📄": "Paber",
|
||
"✂️": "Käärid",
|
||
}
|
||
|
||
# ---------------------------------------------------------------------------
|
||
# /request UI strings
|
||
# ---------------------------------------------------------------------------
|
||
|
||
REQUEST_UI: dict[str, str] = {
|
||
"modal_title": "Rahasta taotlust",
|
||
"modal_label": "Kui palju soovid panustada?",
|
||
"btn_fund": "Rahasta 💸",
|
||
"btn_funded": "Rahastatud ✅",
|
||
"btn_fund_remaining": "Rahasta 💸 ({remaining}⬡ jäänud)",
|
||
"funded_line": "✅ **{name}** panustas {amount}",
|
||
"funded_full": "\n🎯 Taotlus täielikult täidetud!",
|
||
"funded_partial": "\n💰 Jäänud: {remaining}",
|
||
"audience_all": "Avatud kõigile rahastajatele 🌍",
|
||
"audience_targeted": "Suunatud: **{name}**",
|
||
"desc": "**{requester}** palub {amount}\n\n📋 **Põhjus:** {reason}\n\n{audience}",
|
||
"footer": "Taotlus aegub 5 minuti pärast",
|
||
}
|
||
|
||
BJ_UI: dict[str, str] = {
|
||
"dealer": "Dealer",
|
||
"player": "Sina",
|
||
"hand_n": "Käsi {n}",
|
||
"hand_active": "▶ **Käsi {n}**",
|
||
"hand_pending": "Käsi {n} *...*",
|
||
"bust": " 💥",
|
||
"balance_line": " · Saldo: {balance}",
|
||
}
|