@tebekonez

Почему выводит такую ошибку: aiogram.utils.exceptions.BadRequest: Message must be non-empty?

import random
import config
import logging
import aiogram.utils.markdown as fmt

from aiogram import Bot, Dispatcher, executor, types

HANGMAN = (
"""
""",
"""
      
----------
""",
"""
|      
|
|
|
|
|
|
|
----------
""",
"""
|      
|
|
|
|
|
|\\
| \\
----------
""",
"""
--------
|      
|
|
|
|
|
|\\
| \\
----------
""",
"""
--------
|      |
|   
|
|
|
|
|\\
| \\
----------
""",
"""
--------
|      |
|      0
|     /X\\
|     / \\
|
|
|\\
| \\
----------
"""
)

words = {"УРОКИ":"Что можно приготовить, но нельзя съесть?",
        "ШАХМАТИСТ":"Кто ходит сидя?",
        "ДВЕРЬ":"Кто приходит, кто уходит, все ее за ручку водят.",
        "ДОРОГА":"Если б встала, до неба достала б.",
        "ДЕНЬ":"К вечеру умирает, по утру оживает.",
        "РАДИО":"В Москве говорят, а у нас слышно.",
        "ВРЕМЯ":"Без ног и без крыльев оно, быстро летит, не догонишь его.",
        "ТУАЛЕТНАЯ":"Самая популярная бумага",
        "СЕКРЕТОМ":"Чем можно поделиться только один раз?"}

logging.basicConfig(level = logging.INFO)

bot = Bot(token=config.TOKEN)
dp = Dispatcher(bot)

@dp.message_handler(commands=["Висельница"])

async def start_game(message: types.Message):

    key = random.choice(list(words.keys()))
    length = "-"*len(key)
    wrong = 0
    used = []
    while wrong < len(HANGMAN) and length != key:
        await message.answer(
            fmt.text(
            fmt.text('Вы использовали эти буквы:', *used),
            fmt.text("Ошибок:", fmt.hbold(wrong)),
            fmt.text('Загадака звучит так:', words[key]),
            fmt.text('Слово:', length),
            sep="\n"
        ), parse_mode="HTML")

        if message.text == key:
            length = key
            break

        if message.text in key:
            new = ""
            for i in range(len(key)):
                if message.text == key[i]:
                    new += message.text
                else:
                    new += length[i]
            length = new
        else:
            await message.answer(fmt.text(HANGMAN[wrong]))
            wrong += 1
            
    if length == key:
        await message.answer(fmt.text("Вы победили!!! Загаданное слово было:", key))

    else:
        await message.answer(fmt.text('Вас повесили :('))
        await message.answer(fmt.text('загаданное слово было:', key))


if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)
  • Вопрос задан
  • 280 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы