Ответы пользователя по тегу Боты
  • Как получить из сообщения кнопки?

    @treketerer
    Не уверен, что можно вытащить текст из пересланных кнопок, можно легко вытащить из собственных кнопок:

    Решение на aiogram:
    При создании кнопки мы записываем текст кнопки в CallBackData, потом при нажатии на кнопку просто в отдельном хендлере вытаскиваем текст:

    #Создаю CallbackDat-у:
    cb = CallbackData('post', 'msg_text')
    
    #Handler, который активируется при нажатии на кнопку:
    @dp.callback_query_handler(cb.filter())
    async def callbacks(call: types.CallbackQuery, callback_data: dict,):
        await call.answer()
        #Вытаскиваю текст из CallbackData:
        message_text = callback_data['msg_text']
    
    #Хендлер, который активируется по команде test:
    @dp.message_handler(commands="test")
    async def but(message: types.Message):
        #Создаю клавиатуру и кнопки:
        button = (types.InlineKeyboardButton(text="Привет", callback_data=cb.new(msg_text ="Привет")))
        keyboard = types.InlineKeyboardMarkup(row_width=3).add(button)
        #Отправляю сообщение с прикрепленной клавиатурой:
        await message.answer("Hi",reply_markup = keyboard)


    Так же можно вывести список всех кнопок прикрепленных к сообщению:
    @dp.callback_query_handler(cb.filter())
    async def callbacks(call: types.CallbackQuery, callback_data: dict,):
        await call.answer()
        print(call) """Выведет json, где под его конец будет список всех кнопок. Вряд ли получиться вытащить текст нужной кнопки, но возможно вам и поможет.... Обратиться к списку можно так: call["message"]["reply_markup"]["inline_keyboard"]['Тут номер строки']['Тут номер кнопки в строке']['text'] """
    Ответ написан
  • Какой код будет подобием next_step_handler на aiogram?

    @treketerer Автор вопроса
    Люди, я нашел ответ, сухой и рабочий код, вот он: Как сразу добавить информацию в хранилище State (a...
    Ответ написан
    Комментировать