diff --git a/app/commands/service.py b/app/commands/service.py index 2fafc74..ec50cef 100644 --- a/app/commands/service.py +++ b/app/commands/service.py @@ -3,7 +3,7 @@ import logging from telebot import logger from datetime import datetime as dt -from ..models import Chat, Quote, User, session +from ..models import Chat, Quote, session from ..config import bot, ADMIN_ID, types from .. import reminder from .. import report @@ -194,22 +194,22 @@ def set_logging_level(message: types.Message): logging.info("[LEVEL] Установлен уровень INFO") -@bot.message_handler(func=is_admin, commands=["promote"], chat_types=["supergroup", "group"]) -def promote_user(message: types.Message): - if message.reply_to_message: - user = message.reply_to_message.from_user - - user_db = session.query(User).filter_by(tg_id=user.id) - if not user_db: - permission = 1 - session.add(tg_id=user.id, - first_name=user.first_name, - last_name=user.last_name, - username=user.username, - permissions=permission) - else: - permission = user_db.permission * 2 - user_db.update(permissions=permission) - session.commit() - - logger.info(f'[{user.first_name} {user.last_name}] повышен до {permission}.') \ No newline at end of file +# @bot.message_handler(func=is_admin, commands=["promote"], chat_types=["supergroup", "group"]) +# def promote_user(message: types.Message): +# if message.reply_to_message: +# user = message.reply_to_message.from_user +# +# user_db = session.query(User).filter_by(tg_id=user.id) +# if not user_db: +# permission = 1 +# session.add(tg_id=user.id, +# first_name=user.first_name, +# last_name=user.last_name, +# username=user.username, +# permissions=permission) +# else: +# permission = user_db.permission * 2 +# user_db.update(permissions=permission) +# session.commit() +# +# logger.info(f'[{user.first_name} {user.last_name}] повышен до {permission}.') \ No newline at end of file diff --git a/app/filters.py b/app/filters.py index 2a1e087..44628c4 100644 --- a/app/filters.py +++ b/app/filters.py @@ -1,3 +1,5 @@ +import logging.handlers + from .models import session from .models import Chat from .config import * @@ -6,8 +8,11 @@ from .config import * def in_spam_list(message: types.Message) -> bool: """Check for mentioning unwanted persons in text.""" antispam_is_enabled = session.query(Chat.antispam).filter_by(chat_id=message.chat.id).first()[0] + logging.critical(str(antispam_is_enabled)) if message.from_user.id not in WHITEIDS and antispam_is_enabled: + logging.critical('if message.from_user.id not in WHITEIDS and antispam_is_enabled: TRUE') for text in SPAM: + logging.critical(str(text.casefold()) + ' in ' + str(message.text.casefold())) if text.casefold() in message.text.casefold(): logging.info( "!BAN!" + LOG_COMM % ( diff --git a/app/models.py b/app/models.py index 44dcd58..3e29f3a 100644 --- a/app/models.py +++ b/app/models.py @@ -49,59 +49,59 @@ class Chat(Base): return f'Chat({self.chat_id=}, {self.title=})' -class User(Base): - __tablename__ = "users" - id = Column(Integer, primary_key=True) - tg_id = Column(Integer, unique=True) - first_name = Column(String) - last_name = Column(String) - username = Column(String) - permissions = Column(Integer) - - def __repr__(self): - return f'User({self.first_name} {self.last_name} {self.username})' - -class Role(Base): - __tablename__ = 'roles' - id = Column(Integer, primary_key=True) - name = Column(String(64), unique=True) - default = Column(Boolean, default=False, index=True) - permissions = Column(Integer) - users = relationship('User', backref='role', lazy='dynamic') - - def add_permission(self, perm): - if not self.has_permission(perm): - self.permissions += perm - - def remove_permission(self, perm): - if self.has_permission(perm): - self.permissions -= perm - - def reset_permissions(self): - self.permissions = 0 - - def has_permission(self, perm): - return self.permissions & perm == perm - - - @staticmethod - def insert_roles(): - roles = { - "User": [Permission.USE_COMMANDS], - "Moderator": [Permission.USE_COMMANDS, Permission.SEND_LINKS, - Permission.MODIFY_QUOTES, Permission.MODERATE], - "Administrator": [Permission.USE_COMMANDS, Permission.SEND_LINKS, - Permission.MODIFY_QUOTES, Permission.MODERATE, - Permission.ADMIN], - } - default_role = 'User' - for r in roles: - role = Role.query.filter_by(name=r).first() - if role is None: - role = Role(name=r) - role.reset_permissions() - for perm in roles[r]: - role.add_permission(perm) - role.default = (role.name == default_role) - session.add(role) - session.commit() \ No newline at end of file +# class User(Base): +# __tablename__ = "users" +# id = Column(Integer, primary_key=True) +# tg_id = Column(Integer, unique=True) +# first_name = Column(String) +# last_name = Column(String) +# username = Column(String) +# permissions = Column(Integer) +# +# def __repr__(self): +# return f'User({self.first_name} {self.last_name} {self.username})' +# +# class Role(Base): +# __tablename__ = 'roles' +# id = Column(Integer, primary_key=True) +# name = Column(String(64), unique=True) +# default = Column(Boolean, default=False, index=True) +# permissions = Column(Integer) +# users = relationship('User', backref='role', lazy='dynamic') +# +# def add_permission(self, perm): +# if not self.has_permission(perm): +# self.permissions += perm +# +# def remove_permission(self, perm): +# if self.has_permission(perm): +# self.permissions -= perm +# +# def reset_permissions(self): +# self.permissions = 0 +# +# def has_permission(self, perm): +# return self.permissions & perm == perm +# +# +# @staticmethod +# def insert_roles(): +# roles = { +# "User": [Permission.USE_COMMANDS], +# "Moderator": [Permission.USE_COMMANDS, Permission.SEND_LINKS, +# Permission.MODIFY_QUOTES, Permission.MODERATE], +# "Administrator": [Permission.USE_COMMANDS, Permission.SEND_LINKS, +# Permission.MODIFY_QUOTES, Permission.MODERATE, +# Permission.ADMIN], +# } +# default_role = 'User' +# for r in roles: +# role = Role.query.filter_by(name=r).first() +# if role is None: +# role = Role(name=r) +# role.reset_permissions() +# for perm in roles[r]: +# role.add_permission(perm) +# role.default = (role.name == default_role) +# session.add(role) +# session.commit() \ No newline at end of file