mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-27 13:34:28 +00:00
Disable markov command
This commit is contained in:
parent
6514d56519
commit
f07f4486ee
1 changed files with 25 additions and 24 deletions
|
@ -1,8 +1,8 @@
|
|||
from typing import *
|
||||
from royalnet.commands import *
|
||||
import markovify
|
||||
import os
|
||||
import re
|
||||
# import markovify
|
||||
# import os
|
||||
# import re
|
||||
|
||||
|
||||
class MarkovCommand(Command):
|
||||
|
@ -12,29 +12,30 @@ class MarkovCommand(Command):
|
|||
|
||||
syntax: str = "[modello]"
|
||||
|
||||
_texts: Dict[str, markovify.NewlineText] = {}
|
||||
# _texts: Dict[str, markovify.NewlineText] = {}
|
||||
|
||||
def __init__(self, interface: CommandInterface):
|
||||
super().__init__(interface)
|
||||
if interface.name == "telegram":
|
||||
files: List[str] = tuple(os.walk(self.config["Markov"]["models_directory"]))[0][2]
|
||||
for file in files:
|
||||
match = re.match(r"(\S+)\.json$", file)
|
||||
if match is None:
|
||||
continue
|
||||
model_name = match.group(1)
|
||||
with open(os.path.join(self.config["Markov"]["models_directory"], file)) as f:
|
||||
self._texts[model_name] = markovify.NewlineText.from_json(f.read())
|
||||
# if interface.name == "telegram":
|
||||
# files: List[str] = tuple(os.walk(self.config["Markov"]["models_directory"]))[0][2]
|
||||
# for file in files:
|
||||
# match = re.match(r"(\S+)\.json$", file)
|
||||
# if match is None:
|
||||
# continue
|
||||
# model_name = match.group(1)
|
||||
# with open(os.path.join(self.config["Markov"]["models_directory"], file)) as f:
|
||||
# self._texts[model_name] = markovify.NewlineText.from_json(f.read())
|
||||
|
||||
async def run(self, args: CommandArgs, data: CommandData) -> None:
|
||||
if self.interface.name != "telegram":
|
||||
raise UnsupportedError("[c]markov[/c] funziona solo su Telegram.")
|
||||
model_name = args.optional(0, self.config["Markov"]["default_model"])
|
||||
try:
|
||||
sentence = self._texts[model_name].make_sentence()
|
||||
except KeyError:
|
||||
raise InvalidInputError("Il modello richiesto non esiste.")
|
||||
if sentence is None or sentence == "":
|
||||
await data.reply(f"💭 Il bot ([c]{model_name}[/c])... non dice niente. Riprova!")
|
||||
else:
|
||||
await data.reply(f'💬 Il bot ([c]{model_name}[/c]) dice:\n{sentence}')
|
||||
raise CommandError(f"{self} è disattivato. Riprova tra un po' di giorni!")
|
||||
# if self.interface.name != "telegram":
|
||||
# raise UnsupportedError("[c]markov[/c] funziona solo su Telegram.")
|
||||
# model_name = args.optional(0, self.config["Markov"]["default_model"])
|
||||
# try:
|
||||
# sentence = self._texts[model_name].make_sentence()
|
||||
# except KeyError:
|
||||
# raise InvalidInputError("Il modello richiesto non esiste.")
|
||||
# if sentence is None or sentence == "":
|
||||
# await data.reply(f"💭 Il bot ([c]{model_name}[/c])... non dice niente. Riprova!")
|
||||
# else:
|
||||
# await data.reply(f'💬 Il bot ([c]{model_name}[/c]) dice:\n{sentence}')
|
||||
|
|
Loading…
Reference in a new issue