from db import MatchmakingStatus class SafeDict(dict): def __missing__(self, key): return '' + key + '' def safely_format_string(string, **kwargs): return string.format_map(SafeDict(**kwargs)) # Generic telegram errors class TELEGRAM: class ERRORS: CRITICAL_ERROR = "☒ ERRORE CRITICO!\nIl bot ha ignorato il comando.\nUna segnalazione di errore è stata automaticamente mandata a @Steffo.\n\nDettagli dell'errore:\n
{exc_info}
" TELEGRAM_NOT_LINKED = "⚠ Il tuo account Telegram non Γ¨ registrato a Royalnet! Registrati con `/register@royalgamesbot `." PONG = "πŸ“ Pong!" # Royalnet linking class LINKING: SUCCESSFUL = "βœ… Collegamento riuscito!" class ERRORS: INVALID_SYNTAX = "⚠ Non hai specificato un username!\nSintassi del comando: /register {username}" NOT_FOUND = "⚠ Non esiste nessun account Royalnet con quel nome." ALREADY_EXISTING = "⚠ Questo account Γ¨ giΓ  collegato a un account Royalnet." # Markov strings class MARKOV: class ERRORS: NO_MODEL = "⚠ La catena di Markov non Γ¨ disponibile." GENERATION_FAILED = "⚠ markovify non Γ¨ riuscito a generare una frase. Prova di nuovo?\n E' un'avvenimento sorprendentemente raro..." SPECIFIC_WORD_FAILED = "⚠ markovify non Γ¨ riuscito a generare una frase partendo da questa parola. Provane una diversa..." MISSING_WORD = "⚠ La parola specificata non Γ¨ presente nella catena di Markov. Provane una diversa..." # Matchmaking service strings class MATCHMAKING: TICKER_TEXT = { "match_ready": "πŸ”΅ Hai detto che sei pronto per giocare!", "match_wait_for_me": "πŸ•’ Hai chiesto agli altri di aspettarti.", "match_maybe": "❔ Hai detto che forse ci sarai.", "match_someone_else": "πŸ’¬ Hai detto che vuoi aspettare che venga qualcun altro.", "match_ignore": "❌ Non hai intenzione di partecipare.", "match_close": "🚩 Hai notificato tutti che la partita sta iniziando.", "match_cancel": "πŸ—‘ Hai annullato la partita." } GAME_START = { MatchmakingStatus.READY: "πŸ”΅ Che {match_title} abbia inizio!", MatchmakingStatus.WAIT_FOR_ME: "πŸ•’ Sbrigati! {match_title} sta per iniziare!", MatchmakingStatus.SOMEONE_ELSE: "❔ {match_title} sta iniziando. Se vuoi partecipare, fai in fretta!", MatchmakingStatus.MAYBE: "πŸ’¬ {match_title} sta per iniziare, e ci sono {active_players} giocatori." } BUTTONS = { "match_ready": "πŸ”΅ Sono pronto per iniziare!", "match_wait_for_me": "πŸ•’ Ci sarΓ², aspettatemi!", "match_maybe": "❔ Forse vengo, se non ci sono fate senza di me.", "match_someone_else": "πŸ’¬ Solo se viene anche qualcun altro...", "match_ignore": "❌ Non ci sarΓ².", "match_close": "🚩 ADMIN: Avvia la partita", "match_cancel": "πŸ—‘ ADMIN: Annulla la partita" } class ERRORS: INVALID_SYNTAX = "⚠ Sintassi del comando errata.\nSintassi:
/mm [minplayers-][maxplayers] per {gamename} \\n[descrizione]
" NOT_ADMIN = "⚠ Non sei il creatore di questo match!" MATCH_CLOSED = "⚠ Il matchmaking per questa partita è terminato!" UNAUTHORIZED = "⚠ Non sono autorizzato a inviare messaggi a {mention}.\nPer piacere, {mention}, inviami un messaggio in privata!" # Diario search class DIARIO_SEARCH: class ERRORS: INVALID_SYNTAX = "⚠ Non hai specificato un termine da cercare!\nSintassi:
/search {termine}
"