mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 19:44:20 +00:00
Fix Markov errors
This commit is contained in:
parent
cb15abe56c
commit
cd82f3a8af
2 changed files with 26 additions and 13 deletions
10
strings.py
10
strings.py
|
@ -10,11 +10,21 @@ def safely_format_string(string, **kwargs):
|
|||
return string.format_map(SafeDict(**kwargs))
|
||||
|
||||
|
||||
# Generic errors
|
||||
class ROYALNET:
|
||||
class ERRORS:
|
||||
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
|
||||
class MATCHMAKING:
|
||||
TICKER_TEXT = {
|
||||
|
|
|
@ -653,25 +653,28 @@ def cmd_calendar(bot: Bot, update: Update):
|
|||
@catch_and_report
|
||||
def cmd_markov(bot: Bot, update: Update):
|
||||
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
|
||||
try:
|
||||
_, first_word = update.message.text.split(" ", 1)
|
||||
except ValueError:
|
||||
first_word = update.message.text.split(" ")[1]
|
||||
except IndexError:
|
||||
# Any word
|
||||
sentence = model.make_sentence(tries=1000)
|
||||
if sentence is None:
|
||||
bot.send_message(update.message.chat.id, "⚠ Complimenti! Hai vinto la lotteria di Markov!\n"
|
||||
"O forse l'hai persa.\n"
|
||||
"Non sono riuscito a generare una frase, riprova.")
|
||||
bot.send_message(update.message.chat.id, strings.MARKOV.ERRORS.GENERATION_FAILED)
|
||||
return
|
||||
bot.send_message(update.message.chat.id, sentence)
|
||||
else:
|
||||
return
|
||||
# Specific word
|
||||
try:
|
||||
sentence = model.make_sentence_with_start(first_word, tries=1000)
|
||||
if sentence is None:
|
||||
bot.send_message(update.message.chat.id, "⚠ Non è stato possibile generare frasi partendo da questa"
|
||||
" parola.")
|
||||
return
|
||||
bot.send_message(update.message.chat.id, sentence)
|
||||
except KeyError:
|
||||
bot.send_message(update.message.chat.id, strings.MARKOV.ERRORS.MISSING_WORD)
|
||||
return
|
||||
if sentence is None:
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue