diff --git a/setup.py b/setup.py index e323475..f40aab7 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='whatsapp_wrapper', - version='0.1.2', + version='0.1.3', author='Antonio Ventilii', author_email='antonioventilii@gmail.com', license='MIT', diff --git a/whatsapp_wrapper/core.py b/whatsapp_wrapper/core.py index 1a87714..9875e32 100644 --- a/whatsapp_wrapper/core.py +++ b/whatsapp_wrapper/core.py @@ -41,6 +41,7 @@ def __init__(self, mobile_id: str, api_token: str, version: str = LAST_API_VERSI else: self._db = configure_database(database_config) self.error_handler = self._custom_error_handler_factory(error_handler or _default_error_handler) + self._banned_users = [] def _custom_error_handler_factory(self, external_error_handler): """Bind an external error handler to the current instance.""" @@ -55,6 +56,20 @@ def error_handler(response: Response, data: dict): def db(self) -> WhatsAppDB: return self._db + @property + def banned_users(self) -> list[str]: + if self.db: + db_banned_users = self.db.list_banned_user_names() + else: + db_banned_users = [] + ret = self._banned_users + db_banned_users + ret = list(set(ret)) + return ret + + @banned_users.setter + def banned_users(self, value: list[str]): + self._banned_users = value + @property def base_url(self): return f'{self.BASE_URL}/{self.version}'