Как объединить update: и message: в types.ChatMemberUpdated?

Рейтинг: 0Ответов: 1Опубликовано: 02.07.2023

Подскажите пожалуйста, как прописать, update: и message: в types.ChatMemberUpdated чтобы, 2 вместе работали, а не только один

@dp.chat_member_handler()
async def chat_member(message: types.ChatMemberUpdated):

@dp.chat_member_handler()
async def chat_member(update: types.ChatMemberUpdated):

Если, пишу так:

@dp.chat_member_handler()
async def chat_member(message, update: types.ChatMemberUpdated):

Пишет ошибку:

TypeError: chat_member() missing 1 required positional argument: 'update'
TypeError: chat_member() отсутствует 1 обязательный позиционный аргумент: «обновить»

Ответы

▲ 0

chat_member_handler() принимает один аргумент, а вы пытаетесь указать ему два, причем абсолютно одинаковых. Разница между message: types.ChatMemberUpdated и update: types.ChatMemberUpdated заключается лишь в том, что в дальнейшем вы будете обращаться к объекту ChatMemberUpdated либо через message, либо через update. Можете сами в этом убедиться написав простейший хэндлер:

@dp.message_handler(Command('msg'))
async def cmd_msg(message: types.ChatMemberUpdated):
    print(message)

@dp.message_handler(Command('upd'))
async def cmd_upd(update: types.ChatMemberUpdated):
    print(update)

и посмотрите что вам выдаст print при запуске команды /msg и /upd