Как сделать разное приветствие в разных группах aiogram?

Задача такова. Я пытаюсь сделать приветствие новых участников группы разных чатов по разному. Но не пойму по какой причине не срабатывает условие... Сразу срабатывает елс.

@dp.message_handler(content_types=['new_chat_members'])
async def handler_new_member(message: types.Message):
    if message.chat.id == 'id_такой_то':
        await bot.send_message(message.chat.id,f"Привет {message.new_chat_members[0].first_name}. Как дела?")
        await bot.send_message(message.chat.id, "Используйте команду /start")
    else:
        await bot.send_message(message.chat.id, f"{message.new_chat_members[0].first_name} Категорически приветствую")

Попутно еще хочу спросить почему не срабатывает эта конструкция. Чтобы удалять новых и тех кто ушел из группы? Причом чтобы удаляло любые сообщение не только типа "Тарас теперь в группе, "Тарас вышел из группы", но есть еще другие сообщения типа "Вступил по ссылке приглашению" и т.д.

@dp.message_handler(content_types=['new_chat_members', 'left_chat_member'])
    async def on_user_joined(message: types.Message):
        await message.delete()

И вообщем как можно обьеденить эти два хендлера в одном?


Ответы (2 шт):

Автор решения: Kuchizu

Тип message.chat.id является int и он никак не может быть равен строке

Замените условие на такое

if message.chat.id == some_int_id:

По поводу второго вопроса

await bot.delete_message(message.chat.id, message.message_id)
→ Ссылка
Автор решения: w4sQ

Просто добавляет id и текста в словарь. И уже сказали id должен быть int

chats = {
    id1: [("Привет {name}. Как дела?"),
                "Hello!"],
    id2: [("{name} Категорически приветствую"),
                "Ну здравствуй!"]
}

@dp.message_handler(content_types=['new_chat_members'])
async def handler_new_member(message: types.Message):
    if message.chat.id in chats:
        await message.answer(f"{random.choice(chats.get(message.chat.id))}".format(name=message.from_user.first_name))
    else:
        await message.answer(f"Просто привет!:)")
    await message.answer("Используйте команду /start")
→ Ссылка