mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-27 13:34:28 +00:00
Fix Markov errors
This commit is contained in:
parent
cb15abe56c
commit
cd82f3a8af
2 changed files with 26 additions and 13 deletions
12
strings.py
12
strings.py
|
@ -10,11 +10,21 @@ def safely_format_string(string, **kwargs):
|
||||||
return string.format_map(SafeDict(**kwargs))
|
return string.format_map(SafeDict(**kwargs))
|
||||||
|
|
||||||
|
|
||||||
|
# Generic errors
|
||||||
class ROYALNET:
|
class ROYALNET:
|
||||||
class ERRORS:
|
class ERRORS:
|
||||||
TELEGRAM_NOT_LINKED = "⚠ Il tuo account Telegram non è registrato a Royalnet! Registrati con `/register@royalgamesbot <nomeutenteryg>`."
|
TELEGRAM_NOT_LINKED = "⚠ Il tuo account Telegram non è registrato a Royalnet! Registrati con `/register@royalgamesbot <nomeutenteryg>`."
|
||||||
|
|
||||||
|
|
||||||
|
# Markov strings
|
||||||
|
class MARKOV:
|
||||||
|
class ERRORS:
|
||||||
|
NO_MODEL = "⚠ La catena di Markov non è disponibile."
|
||||||
|
GENERATION_FAILED = "⚠ <code>markovify</code> non è riuscito a generare una frase. Prova di nuovo?\n E' un'avvenimento sorprendentemente raro..."
|
||||||
|
SPECIFIC_WORD_FAILED = "⚠ <code>markovify</code> 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
|
# Matchmaking service strings
|
||||||
class MATCHMAKING:
|
class MATCHMAKING:
|
||||||
TICKER_TEXT = {
|
TICKER_TEXT = {
|
||||||
|
@ -48,4 +58,4 @@ class MATCHMAKING:
|
||||||
INVALID_SYNTAX = "⚠ Sintassi del comando errata.\n Sintassi: `/mm [minplayers-][maxplayers] per <gamename> \\n[descrizione]`"
|
INVALID_SYNTAX = "⚠ Sintassi del comando errata.\n Sintassi: `/mm [minplayers-][maxplayers] per <gamename> \\n[descrizione]`"
|
||||||
NOT_ADMIN = "⚠ Non sei il creatore di questo match!"
|
NOT_ADMIN = "⚠ Non sei il creatore di questo match!"
|
||||||
MATCH_CLOSED = "⚠ Il matchmaking per questa partita è terminato!"
|
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!"
|
UNAUTHORIZED = "⚠ Non sono autorizzato a inviare messaggi a {mention}. \nPer piacere, {mention}, inviami un messaggio in privata!"
|
||||||
|
|
|
@ -653,25 +653,28 @@ def cmd_calendar(bot: Bot, update: Update):
|
||||||
@catch_and_report
|
@catch_and_report
|
||||||
def cmd_markov(bot: Bot, update: Update):
|
def cmd_markov(bot: Bot, update: Update):
|
||||||
if model is None:
|
if model is None:
|
||||||
bot.send_message(update.message.chat.id, "⚠️ Il modello Markov non è disponibile.")
|
bot.send_message(update.message.chat.id, strings.MARKOV.ERRORS.NO_MODEL)
|
||||||
return
|
return
|
||||||
try:
|
try:
|
||||||
_, first_word = update.message.text.split(" ", 1)
|
first_word = update.message.text.split(" ")[1]
|
||||||
except ValueError:
|
except IndexError:
|
||||||
|
# Any word
|
||||||
sentence = model.make_sentence(tries=1000)
|
sentence = model.make_sentence(tries=1000)
|
||||||
if sentence is None:
|
if sentence is None:
|
||||||
bot.send_message(update.message.chat.id, "⚠ Complimenti! Hai vinto la lotteria di Markov!\n"
|
bot.send_message(update.message.chat.id, strings.MARKOV.ERRORS.GENERATION_FAILED)
|
||||||
"O forse l'hai persa.\n"
|
|
||||||
"Non sono riuscito a generare una frase, riprova.")
|
|
||||||
return
|
return
|
||||||
bot.send_message(update.message.chat.id, sentence)
|
bot.send_message(update.message.chat.id, sentence)
|
||||||
else:
|
return
|
||||||
|
# Specific word
|
||||||
|
try:
|
||||||
sentence = model.make_sentence_with_start(first_word, tries=1000)
|
sentence = model.make_sentence_with_start(first_word, tries=1000)
|
||||||
if sentence is None:
|
except KeyError:
|
||||||
bot.send_message(update.message.chat.id, "⚠ Non è stato possibile generare frasi partendo da questa"
|
bot.send_message(update.message.chat.id, strings.MARKOV.ERRORS.MISSING_WORD)
|
||||||
" parola.")
|
return
|
||||||
return
|
if sentence is None:
|
||||||
bot.send_message(update.message.chat.id, sentence)
|
bot.send_message(update.message.chat.id, strings.MARKOV.ERRORS.SPECIFIC_WORD_FAILED)
|
||||||
|
return
|
||||||
|
bot.send_message(update.message.chat.id, sentence)
|
||||||
|
|
||||||
|
|
||||||
@catch_and_report
|
@catch_and_report
|
||||||
|
|
Loading…
Reference in a new issue