Download telebot/plugins/sql_helper/locks_sql.py from thenamk3/cc: direct link, hf CLI and curl.
- Browser
- Download file 2.14 kB
-
https://huggingface.co/spaces/thenamk3/cc/resolve/main/telebot/plugins/sql_helper/locks_sql.py
- Command line
-
hf download hf://spaces/thenamk3/cc/telebot/plugins/sql_helper/locks_sql.py
-
curl -L -o locks_sql.py https://huggingface.co/spaces/thenamk3/cc/resolve/main/telebot/plugins/sql_helper/locks_sql.py
2.14 kB
| from sqlalchemy import Boolean, Column, String | |
| from telebot.plugins.sql_helper import SESSION, BASE | |
| class Locks(BASE): | |
| __tablename__ = "locks" | |
| chat_id = Column(String(14), primary_key=True) | |
| # Booleans are for "is this locked", _NOT_ "is this allowed" | |
| bots = Column(Boolean, default=False) | |
| commands = Column(Boolean, default=False) | |
| email = Column(Boolean, default=False) | |
| forward = Column(Boolean, default=False) | |
| url = Column(Boolean, default=False) | |
| def __init__(self, chat_id): | |
| self.chat_id = str(chat_id) # ensure string | |
| self.bots = False | |
| self.commands = False | |
| self.email = False | |
| self.forward = False | |
| self.url = False | |
| Locks.__table__.create(checkfirst=True) | |
| def init_locks(chat_id, reset=False): | |
| curr_restr = SESSION.query(Locks).get(str(chat_id)) | |
| if reset: | |
| SESSION.delete(curr_restr) | |
| SESSION.flush() | |
| restr = Locks(str(chat_id)) | |
| SESSION.add(restr) | |
| SESSION.commit() | |
| return restr | |
| def update_lock(chat_id, lock_type, locked): | |
| curr_perm = SESSION.query(Locks).get(str(chat_id)) | |
| if not curr_perm: | |
| curr_perm = init_locks(chat_id) | |
| if lock_type == "bots": | |
| curr_perm.bots = locked | |
| elif lock_type == "commands": | |
| curr_perm.commands = locked | |
| elif lock_type == "email": | |
| curr_perm.email = locked | |
| elif lock_type == "forward": | |
| curr_perm.forward = locked | |
| elif lock_type == "url": | |
| curr_perm.url = locked | |
| SESSION.add(curr_perm) | |
| SESSION.commit() | |
| def is_locked(chat_id, lock_type): | |
| curr_perm = SESSION.query(Locks).get(str(chat_id)) | |
| SESSION.close() | |
| if not curr_perm: | |
| return False | |
| elif lock_type == "bots": | |
| return curr_perm.bots | |
| elif lock_type == "commands": | |
| return curr_perm.commands | |
| elif lock_type == "email": | |
| return curr_perm.email | |
| elif lock_type == "forward": | |
| return curr_perm.forward | |
| elif lock_type == "url": | |
| return curr_perm.url | |
| def get_locks(chat_id): | |
| try: | |
| return SESSION.query(Locks).get(str(chat_id)) | |
| finally: | |
| SESSION.close() | |