admin: add admins commands

parent d663ab0b
......@@ -23,6 +23,11 @@ class UserMethod:
"""получение записи пользователя"""
user: User | None = User.get_or_none(User.user_id == user_id)
return user
@classmethod
def get_all(cls):
"""Получение записей всех пользователей"""
return [user for user in User.select()]
@classmethod
def delete(cls, user_id: int):
......
from telegrinder import Dispatch, Message
from telegrinder.rules import Command, Argument
from altrepo import altrepo
from database.func import DB
from rules import BotAdmin
from config import tg_api
dp = Dispatch()
dp.message.auto_rules = BotAdmin()
@dp.message(Command("altrepo_users"))
async def alrtrepo_users(m: Message):
users_data = DB.user.get_all()
user_message = ""
for user in users_data:
user_message += f"{user.user_id} | {user.maintainer} | {user.default_branch}\n"
await m.answer(user_message)
@dp.message(Command("altrepo_user", Argument("user_id")))
async def alrtrepo_users(m: Message, user_id: int):
if not user_id:
return
db_user = DB.user.get(user_id)
user = (await tg_api.get_chat(chat_id=user_id)).unwrap()
username = user.username.unwrap_or_none()
await m.answer(
f"{user.first_name.unwrap()} {user.last_name.unwrap()}"
f" (@{username})\n" if username else "\n"
f"Сопровождающий: {db_user.maintainer}\n"
f"Репозиторий: {db_user.default_branch}\n"
)
from .bot_admin import BotAdmin
from telegrinder import Message
from telegrinder.bot.rules.abc import ABCRule
from config import config
class BotAdmin(ABCRule):
async def check(self, m: Message) -> bool:
return m.from_user.id in config.admins
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment