fix-left-join
This commit is contained in:
23
bot/main.py
23
bot/main.py
@@ -5,17 +5,21 @@ import signal # Import the signal module
|
||||
from aiogram import Bot, Dispatcher, Router
|
||||
from aiogram.enums import ParseMode
|
||||
from aiogram.filters import CommandStart, Command
|
||||
from aiogram.types import Message, ChatJoinRequest, CallbackQuery
|
||||
from aiogram.types import Message, ChatJoinRequest, CallbackQuery, ChatMemberUpdated, ChatMemberLeft
|
||||
from config import BOT_TOKEN
|
||||
from handlers.routing import handle_routing
|
||||
from handlers.callback_unlink import handle_unlink
|
||||
from handlers.callback_vouch import handle_button
|
||||
from handlers.handle_join_request import handle_join_request
|
||||
from handlers.handle_startup import handle_startup
|
||||
from handlers.handle_members_change import handle_join, handle_left
|
||||
from state import State
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
router = Router()
|
||||
bot = Bot(BOT_TOKEN, parse_mode=ParseMode.HTML)
|
||||
dp = Dispatcher()
|
||||
state = State()
|
||||
|
||||
|
||||
@@ -44,7 +48,6 @@ async def join_request_handler(update: ChatJoinRequest) -> None:
|
||||
join_request["chat"] = vars(update.chat)
|
||||
await handle_join_request(join_request)
|
||||
|
||||
|
||||
@router.message()
|
||||
async def all_handler(message: Message) -> None:
|
||||
msg = vars(message)
|
||||
@@ -57,11 +60,23 @@ async def all_handler(message: Message) -> None:
|
||||
await asyncio.sleep(1.0)
|
||||
|
||||
|
||||
@router.my_chat_member()
|
||||
async def chat_members_change(update: ChatMemberUpdated):
|
||||
msg = vars(update)
|
||||
msg["chat"] = vars(update.chat)
|
||||
msg["from"] = vars(update.from_user)
|
||||
logger.debug(msg)
|
||||
if update.old_chat_member == ChatMemberLeft:
|
||||
await handle_left(msg)
|
||||
else:
|
||||
await handle_join(msg)
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
bot = Bot(BOT_TOKEN, parse_mode=ParseMode.HTML)
|
||||
dp = Dispatcher()
|
||||
dp.include_router(router)
|
||||
|
||||
# storage revalidation
|
||||
await handle_startup()
|
||||
# Start event dispatching
|
||||
await dp.start_polling(bot)
|
||||
|
||||
|
Reference in New Issue
Block a user