from abc import abstractmethod, ABC
|
|
from typing import Optional
|
|
|
|
from paircd.client import Client
|
|
from paircd.message import Message
|
|
from paircd.server import Server
|
|
|
|
|
|
class CommandHandler(ABC):
|
|
cmd: str
|
|
argc: Optional[int]
|
|
|
|
def __init__(self, cmd: str, argc: Optional[int] = None) -> None:
|
|
self.cmd = cmd
|
|
self.argc = argc
|
|
|
|
@abstractmethod
|
|
async def handle(self, server: Server, client: Client, msg: Message) -> None:
|
|
pass
|