Задать вопрос
@ploVshEEk

Почему не работает порядочность в боте на aiogram?

Нужно чтобы при нажатии на кнопку старт в боте, пользователь появлялся в бд, после вводил своё имя, после чего написал свою учебную группу. Первые два пункта работают, а потом нет. Бот зацикливается на изменении имени пользователя. Я понимаю что какая-то из функций должна быть зависимы друг от друга, но есть делать под одним @db.massage(), тогда не обновляются сообщения юзера в буфере.

@dp.message(Command("start"))
async def start(message: types.Message):
    if (not botDB.user_exists(message.from_user.id)):
        botDB.add_user(message.from_user.id)
        #botDB.add_id_user(message.from_user.id)

    await message.bot.send_message(message.from_user.id, "Привет и добро пожаловать на ВечеРинКу! Напиши, как тебя зовут.")

def echo(message: types.Message):
    if (not botDB.chek_grup(message.from_user.id)):
        botDB.det_grup(message.from_user.id, message.text)
    else: 
        botDB.edit_username(message.from_user.id, message.text)

    message.bot.send_message(message.from_user.id, "Отлично. Осталось совем немного!")
def echo(message: types.Message):
    if (not botDB.chek_grup(message.from_user.id)):
        botDB.det_grup(message.from_user.id, message.text)
    else: 
        botDB.edit_username(message.from_user.id, message.text)

    message.bot.send_message(message.from_user.id, "Отлично. Осталось совем немного!")<code lang="python">

</code>
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
AlexNest
@AlexNest
Работаю с Python/Django
По хорошему, это реализуется с помощью FSM (Finite-state machine - конечный автомат). В Aiogram как раз есть реализация.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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