refactor some shit, enable adding user aliases
This commit is contained in:
parent
84931ba0d3
commit
7d48ffa35c
5 changed files with 81 additions and 39 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue