@clazy

Как сохранить машиносостоянии игры :кубик в телеграмме с последующей отправкой кубика в канал?

Хочу сделать бота, который в значение принимает телеграмм игру :кубик, затем сохранял этот кубик, а затем пересылал его в канал

Код:

@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
    await message.reply("Привет! Пожалуйста, отправь мне игру :кубик")
    await AnswerUser.answer1.set()



@dp.message_handler(lambda message: message.text == '', state=AnswerUser.answer1)
async def process_dice_command(message: types.Message, state=FSMContext):
    print(1)
    keyboard = InlineKeyboardMarkup()
    callback_button = InlineKeyboardButton(text="Отправить в канал", callback_data="send_to_channel")
    keyboard.add(callback_button)
    await message.reply("Вы отправили кубик! Теперь вы можете его отправить в канал.", reply_markup=keyboard)

@dp.callback_query_handler(lambda c: c.data == 'send_to_channel')
async def send_dice_to_channel(callback_query: types.CallbackQuery):
    dice_message = await bot.send_dice(callback_query.from_user.id) # Отправляем кубик
    await bot.send_message(chat_id='-1002117159373', text=f'Кубик: {dice_message.dice.emoji}') # Пересылаем кубик в ваш канал


Почему-то у меня не переходит на этот уровень состояния @dp.message_handler(lambda message: message.text == '', state=AnswerUser.answer1)
Подскажите пожалуйста как реализовать этот код
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 1
@twistfire92
Python backend developer
Вместо этого
lambda message: message.text == ''
Попробуйте указать так:
lambda message: message.dice
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы