refactor some shit, enable adding user aliases

This commit is contained in:
Von Random 2023-11-01 00:26:09 +00:00
parent 84931ba0d3
commit 7d48ffa35c
5 changed files with 81 additions and 39 deletions

View file

@ -4,6 +4,7 @@ import telethon
import yaml
import pgbotlib.api
import pgbotlib.dbstuff
import pgbotlib.misc
def get_token(token_name: str, token_regex: list) -> tuple:
@ -22,10 +23,11 @@ def get_tokens(path: str) -> list:
class Responder:
def __init__(self, config: dict,
client: telethon.TelegramClient,
db_connection: pgbotlib.dbstuff.DBConn) -> None:
db_connection: pgbotlib.dbstuff.DBConn,
namegen: pgbotlib.misc.NameGenerator) -> None:
# apiregex matches "{apiname}optional data"
# message itself is also passed to the api call method
self.started = True
self.enabled = True
self.apiregex = re.compile(r'^\{(\w+)\}(.+)?$')
self.namegen = pgbotlib.misc.NameGenerator(config, db_connection)
self.tokens = get_tokens(config['response_tokens'])
@ -54,10 +56,13 @@ class Responder:
"SELECT response FROM responses WHERE tokens = %s", (key,))
def enable(self) -> None:
self.started = True
self.enabled = True
def disable(self) -> None:
self.started = False
self.enabled = False
def enabled(self) -> bool:
return self.enabled
def get_response(self, tokens: frozenset) -> str:
counter = 0
@ -93,7 +98,7 @@ class Responder:
async def respond(self,
event: telethon.events.common.EventBuilder) -> None:
if not self.started:
if not self.enabled:
return None
message = event.message.text.lower()
tokens = self.__tokenize(message)