12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import datetime
- from aiogram import Router, types, F, Bot
- from aiogram.filters import Command, BaseFilter, IS_ADMIN, ChatMemberUpdatedFilter, IS_NOT_MEMBER, ADMINISTRATOR, \
- PROMOTED_TRANSITION, Text
- from aiogram.types import ChatMemberAdministrator, ChatMemberUpdated, callback_query
- from aiogram.utils.markdown import hpre, hbold, hlink
- import config
- from handlers.users_message import delete_mess
- from keyboards import menu_keys
- from keyboards.callbacks_data import MenuCategory
- from loader import db, scheduler, logger
- router = Router()
- # router.message.bind_filter(IsAdmin)
- # router.message.bind_filter(F.chat.type == "private")
- @router.message(
- F.chat.type == "private",
- commands=['start'])
- async def start(message: types.Message, context: dict):
- users = context["users"]
- wor = "\n".join(context["stop_words"])
- text = f'Привет!\nТеперь добавь меня в чаты где нужна моя помощь.\n' \
- f'Основные настройки делаются в личке. \n'
- keys = menu_keys.admin_menu() if message.from_user.id in config.ADMIN_ID else menu_keys.client_menu()
- # db.add_default_words(message.from_user.id)
- db.add_client(message.from_user.id, message.from_user.username, message.from_user.full_name)
- await message.answer(text, reply_markup=keys)
- @router.my_chat_member(
- ChatMemberUpdatedFilter(member_status_changed=PROMOTED_TRANSITION),
- )
- async def bot_added_as_admin(event: ChatMemberUpdated, bot: Bot, context: dict):
- print(event)
- if event.chat.type in ["group", "supergroup"]:
- db.add_chat(event.from_user.id, event.chat.id, 0)
- text = f"Привет! Спасибо, что добавили меня в " \
- f'{hlink(event.chat.title, event.chat.invite_link)}. Теперь можно назначать этой группе обязательные каналы.'
- elif event.chat.type == 'channel':
- db.add_chat(event.from_user.id, event.chat.id, 2)
- url = event.chat.invite_link if event.chat.invite_link else f"https://t.me/{event.chat.username}"
- text = f"Привет! Меня ту добавили в канал {hlink(event.chat.title, url)}\n" \
- f"Теперь его можно сделать обязательным для одной из ваших групп"
- context['users'] = db.get_all_clients()
- mess = await bot.send_message(chat_id=event.from_user.id, text=text)
- scheduler.add_job(delete_mess, args=(mess,), trigger='date',
- run_date=datetime.datetime.now() + datetime.timedelta(seconds=60))
|