Aiogram. Как сделать так, что бы если сообщение равнялось хотя бы одному элементу из списка, то чето запускалось
Мне нужно, что бы селектор запускалался, если я отправляю в бота одно из этих сообщений. по итогу приходится вставлять этот кусок кода, который внутри функции selector, в остальные функции, а это очень некрасиво
funcs = ['🎬','🔋','🎹','👂']
@dp.message_handler(lambda msg: (sexy(msg)),state='*')
async def selector(message: types.Message, state: FSMContext):
if message.text == "🎬":
await state.finish()
await message.answer("===== CINEMA MENU =====", reply_markup=cinema_keyboard)
await UserState.cinema.set()
elif message.text == "🔋":
await state.finish()
await message.answer("===== POWER MENU =====", reply_markup=power_keyboard)
await UserState.power.set()
elif message.text == "🎹":
await state.finish()
await message.answer("===== MEDIA MENU =====", reply_markup=media_keyboard)
await UserState.media.set()
elif message.text == "👂":
await state.finish()
await message.answer("===== VOLUME MENU =====", reply_markup=volume_keyboard)
await UserState.volume.set()
def sexy(msg):
if msg.text in funcs:
return True
else: return False
Источник: Stack Overflow на русском