API/ remnawave 1.6.12/ admins in database and more
This commit is contained in:
+9
-3
@@ -1,12 +1,18 @@
|
||||
from aiogram.filters import BaseFilter
|
||||
from aiogram.types import Message
|
||||
from sqlalchemy import select
|
||||
from database.models import Admin
|
||||
|
||||
from config import ADMIN_ID
|
||||
|
||||
from database.db import async_session_maker
|
||||
|
||||
class IsAdminFilter(BaseFilter):
|
||||
async def __call__(self, message: Message) -> bool:
|
||||
try:
|
||||
return message.from_user.id in ADMIN_ID
|
||||
async with async_session_maker() as session:
|
||||
result = await session.execute(
|
||||
select(Admin).where(Admin.tg_id == message.from_user.id)
|
||||
)
|
||||
admin = result.scalar_one_or_none()
|
||||
return admin is not None
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user