1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-23 19:44:20 +00:00
royalnet/rpgpack/commands/dndnewbattle.py
2020-09-16 02:37:31 +02:00

31 lines
914 B
Python

from typing import *
import royalnet
import royalnet.commands as rc
import royalnet.utils as ru
from ..tables import DndBattle
class DndnewbattleCommand(rc.Command):
name: str = "dndnewbattle"
description: str = "Create a new D&D battle."
syntax: str = "{name}\n[description]"
async def run(self, args: rc.CommandArgs, data: rc.CommandData) -> None:
BattleT = self.alchemy.get(DndBattle)
line_args = args.joined(require_at_least=1).split("\n", 1)
name = line_args[0]
description = line_args[1] if len(line_args) > 1 else None
async with data.session_acm() as session:
battle = BattleT(
name=name,
description=description
)
session.add(battle)
await ru.asyncify(session.commit)
await data.reply(f"✅ Battle [b]{battle.name}[/b] (ID: {battle.id}) created!")