from typing import * import royalnet.commands as rc import royalnet.utils as ru from ..tables import Diario class DiarioquoteCommand(rc.Command): name: str = "diarioquote" description: str = "Cita una riga del diario." aliases = ["dq", "quote", "dquote"] syntax = "{id}" async def run(self, args: rc.CommandArgs, data: rc.CommandData) -> None: try: entry_id = int(args[0].lstrip("#")) except ValueError: raise rc.CommandError("L'id che hai specificato non è valido.") async with data.session_acm() as session: entry: Diario = await ru.asyncify(session.query(self.alchemy.get(Diario)).get, entry_id) if entry is None: raise rc.CommandError("Nessuna riga con quell'id trovata.") await data.reply(f"ℹ️ {entry}")