39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
from abc import ABC, abstractmethod
|
|
from core.util import logs
|
|
|
|
|
|
class ClientBase(ABC):
|
|
def __init__(self, ur, loop, service):
|
|
self.ur = ur
|
|
self.loop = loop
|
|
self.service = service
|
|
self.log = logs.get_logger(service)
|
|
self.log.info(f"{self.service.capitalize()} client initialising...")
|
|
|
|
@abstractmethod
|
|
def start(self):
|
|
...
|
|
|
|
# @abstractmethod
|
|
# async def send_message(self, recipient, message):
|
|
# """Abstract method for sending messages."""
|
|
# ...
|
|
|
|
async def message_received(self, *args, **kwargs):
|
|
self.ur.message_received(self.service, *args, **kwargs)
|
|
|
|
async def message_read(self, *args, **kwargs):
|
|
self.ur.message_read(self.service, *args, **kwargs)
|
|
|
|
async def started_typing(self, *args, **kwargs):
|
|
self.ur.started_typing(self.service, *args, **kwargs)
|
|
|
|
async def stopped_typing(self, *args, **kwargs):
|
|
self.ur.stopped_typing(self.service, *args, **kwargs)
|
|
|
|
async def reacted(self, *args, **kwargs):
|
|
self.ur.reacted(self.service, *args, **kwargs)
|
|
|
|
async def replied(self, *args, **kwargs):
|
|
self.ur.replied(self.service, *args, **kwargs)
|