from aiogram import types, Dispatcher from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton from models.poll import Poll from database import Session async def create_poll(message: types.Message): markup = InlineKeyboardMarkup() markup.add(InlineKeyboardButton('Option 1', callback_data='vote_1')) markup.add(InlineKeyboardButton('Option 2', callback_data='vote_2')) await message.reply("Choose an option:", reply_markup=markup) async def handle_vote(callback_query: types.CallbackQuery): option = callback_query.data.split('_')[1] with Session() as session: poll = Poll(option=option) session.add(poll) session.commit() await callback_query.answer(f"You voted for option {option}") def register_handlers(dp: Dispatcher): dp.register_message_handler(create_poll, commands=['poll']) dp.register_callback_query_handler(handle_vote, lambda c: c.data.startswith('vote_'))