Refactor strings.py into modules

This commit is contained in:
Rene Arumetsa
2026-08-19 19:12:48 +03:00
parent 738144ccfa
commit 0ea5580e15
9 changed files with 1733 additions and 4 deletions

247
strings/common.py Normal file
View File

@@ -0,0 +1,247 @@
"""Shared / system-wide strings (messages, titles, errors, cooldowns).
Auto-split from the original strings.py; edit strings here.
"""
from core.emoji import EMOJI as E
__all__ = [
'MSG_BANNED',
'MSG_SPAM_JAIL',
'MSG_PONG',
'MSG_RESTART_DONE',
'MSG_RESTARTING',
'MSG_SHUTTING_DOWN',
'MSG_PAUSED',
'MSG_UNPAUSED',
'MSG_MAINTENANCE',
'MSG_SYNC_DONE',
'MSG_REMINDER',
'MSG_LEVELUP',
'MSG_LEVELUP_ROLE',
'REMINDER_OPTS',
'TITLE',
'ERR',
'CD_MSG',
'REMINDERS_UI',
'SEND_UI',
'PATCHNOTES_UI',
'STATUS_UI',
]
# ---------------------------------------------------------------------------
# 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)"),
("fish", "🎣 /fish", "Kalapüük (2min ooteaeg)"),
]
# ---------------------------------------------------------------------------
# Embed titles
# ---------------------------------------------------------------------------
TITLE: dict[str, str] = {
"daily": "📅 Päevane boonus",
"work": "💼 Töö",
"beg": "🙏 Kerjamine",
"crime_win": f"{E['TipiFIRE']} Kuritegu õnnestus!",
"crime_fail": f"{E['TipiTROLL']} Vahele jäid!",
"rob_win": f"{E['TipiFIRE']} Rööv õnnestus!",
"rob_fail": f"{E['TipiTROLL']} Rööv ebaõnnestus!",
"rob_anticheat": f"{E['TipiVAC']} Anticheat peatas sind!",
"jailbreak": "🎲 Vanglast põgenemine",
"jailbreak_free": f"🎲 {E['TipiFIRE']} DUUBEL! Oled vaba!",
"jailbreak_fail": f"{E['TipICRY']} Kolm katset läbi!",
"jailbreak_miss": "🎲 " + E["TipICRY"] + " Ei saanud duublit ({tries}/{max})",
"jailbreak_bail": "💸 Kautsjon",
"give": f"{E['TipiHEART']} TipiCOINi ülekanne",
"stats": "📊 Mängustatistika",
"leaderboard_coins": "🪙 TipiBOTi edetabel - Mündid",
"leaderboard_exp": "📊 TipiBOTi edetabel - EXP / Tase",
"leaderboard_season": "🏆 TipiBOTi edetabel - Hooaja EXP",
"leaderboard_prestige": f"{E['TipiFIRE']} TipiBOTi edetabel - Prestiiž",
"leaderboard_wagered": "🎲 TipiBOTi edetabel - Hasartmängud",
"leaderboard_fish": "🎣 TipiBOTi edetabel - Kalapüük",
"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": f"{E['TipiFIRE']} Grupirööv õnnestus!",
"heist_fail": f"{E['TipiSKULL']} Grupirööv ebaõnnestus!",
"heist_cancel": "🔫 Grupirööv tühistatud",
"request": f"{E['TipiHEART']} Rahataotlus",
"reminders": "⏰ Meeldetuletused",
"cooldowns": "⏱️ Sinu ooteajad",
"adminseason": "🏆 Hooaeg lõppes!",
"economysetup": "⚙️ Majanduse seadistamine",
"blackjack": "🃏 Blackjack",
"blackjack_bj": f"🃏 {E['TipiFIRE']} BLACKJACK!",
"blackjack_win": f"{E['TipiFIRE']} Võitsid!",
"blackjack_lose": f"{E['TipiSKULL']} Kaotasid!",
"blackjack_bust": f"{E['TipiSKULL']} Üle 21 - kaotasid!",
"blackjack_push": "🤝 Viik!",
"blackjack_dbust": f"{E['TipiSKULL']} Üle 21 - mõlemad kaotasid!",
"blackjack_dwin": f"{E['TipiFIRE']} Topeltpanus võitis!",
"prestige_confirm": "🔥 Prestiiž - kinnita",
"prestige_success": E["TipiFIRE"] + " Prestiiž {level} saavutatud!",
"prestige_too_low": "❌ Prestiiž pole saadaval",
"prestige_shop": f"{E['TipiFIRE']} Prestiižipood",
"prestige_buy_ok": "✅ Uuendus ostetud!",
"fish_cast": "🎣 Otsid kala...",
"fish_bite": "🐟 KALA NÄKKAB!",
"fish_escape": "🎣 Kala pääses!",
"fish_junk": "🗑️ Ai ai ai...",
"fishbook": "📖 Kalakogu",
"quests": "🎯 Ülesanded",
}
# ---------------------------------------------------------------------------
# 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": E["TipICRY"] + " Sul pole piisavalt TipiCOINe. Saldo: {bal}",
"broke_need": E["TipICRY"] + " Sul pole piisavalt TipiCOINe. 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!",
"game_in_progress": "❌ Sul on juba mäng käimas! Lõpeta see enne.",
"not_your_challenge":"❌ See väljakutse pole sulle!",
"not_your_menu": "❌ See ei ole sinu menüü.",
"give_self": "❌ Sa ei saa iseendale TipiCOINe anda.",
"give_bot": "❌ Botile ei saa TipiCOINe anda.",
"give_jailed": "❌ Oled vangis - vanglas ei saa TipiCOINe anda. Pääsed välja {ts}.",
"rps_self": "❌ Sa ei saa iseendale väljakutset 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 bannida.",
"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 anuda.",
"request_bot": "❌ Botid on teatavasti kitsid.",
"request_targeted": "❌ See taotlus on suunatud kasutajale **{name}**.",
"request_closed": "❌ See taotlus on juba rahastatud või aegunud.",
"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}```",
"gamble_cooldown": "🎰 Oled just mänginud! Saad uuesti mängida {ts}.",
}
# ---------------------------------------------------------------------------
# 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": E["TipiTROLL"] + " Oled vangis! Pääsed välja {ts}. Kasuta `/jailbreak`, et varem välja pääseda.",
"fish": "🎣 Saad uuesti kalastada {ts}.",
}
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.",
}
# ---------------------------------------------------------------------------
# /send UI strings
# ---------------------------------------------------------------------------
SEND_UI: dict[str, str] = {
"sent": "✅ Sõnum saadetud kanalisse {channel}!",
"forbidden": "❌ Mul pole õigust kanalisse {channel} kirjutada.",
}
# ---------------------------------------------------------------------------
# /patchnotes UI strings
# ---------------------------------------------------------------------------
PATCHNOTES_UI: dict[str, str] = {
"title": "📝 Muudatuste logi — {version}",
"footer": "Versioon {idx}/{total}",
"btn_newer": "◀ Uuem",
"btn_older": "Vanem ▶",
"select_placeholder": "Vali versioon…",
"empty_file": " Muudatuste logi on hetkel tühi.",
"empty_version": "_(selle versiooni kohta märkmeid pole)_",
}
# ---------------------------------------------------------------------------
# /status UI
# ---------------------------------------------------------------------------
STATUS_UI: dict[str, str] = {
"title": "🖥️ Boti olek",
"uptime_field": "🕐 Uptime",
"uptime_val": "{hours}t {minutes}m {seconds}s",
"latency_field": "📡 Latency",
"latency_val": "{ms} ms",
"ram_field": "🧠 RAM (RSS)",
"ram_val": "{mb} MB",
"cpu_field": "⚙️ CPU",
"cpu_val": "{percent}%",
"tasks_field": "🔄 Async tasks",
"eco_players_field": "👤 Eco players",
"members_cache_field": "📋 Liikmed (cache)",
"log_files_field": "📂 Log files",
"log_line": "`{name}` - {size_kb} KB",
"none": "-",
}