@nevercelochka

Почему бот в телеграмме два раза отправляет сообщение «На что изменить? (ADMIN)»?

Бот почему то отправляет два раза сообщение, но почему?

Код:
if call.data == 'newword_admin':
        sent_message = bot.edit_message_text(chat_id=chat_id,
                                             message_id=call.message.message_id,
                                             text=f'Введи id кому изменить слово:',
                                             reply_markup=markup_inline)
    bot.register_next_step_handler(call.message, user_word_admin)
def user_word_admin(message):
    chat_id = message.chat.id
    user_id = message.from_user.id
    id_new_word = message.text
    basa_path = 'basa.json'

    if os.path.exists(basa_path):
        with open(basa_path, 'r', encoding='utf-8') as file:
            data = json.load(file)
    else:
        data = {}

    if str(id_new_word) in data:
        # После того, как пользователь ввел id, предложите ему ввести новое слово
        bot.send_message(message.chat.id, 'На что изменить? (ADMIN)')
        # Ожидайте следующего сообщения от пользователя с новым словом
        bot.register_next_step_handler(message, lambda msg: update_user_word_admin(msg, id_new_word))
    else:
        print("Пользователь не найден в базе данных.")
        bot.answer_callback_query(message.chat.id, text="Юзер не найден")

def update_user_word_admin(message, user_id):
    new_word_admin = message.text
    basa_path = 'basa.json'

    if os.path.exists(basa_path):
        with open(basa_path, 'r', encoding='utf-8') as file:
            data = json.load(file)
    else:
        data = {}

    if str(user_id) in data:
        # Обновите слово пользователя с данным user_id на новое слово new_word_admin
        data[str(user_id)]["user_word"] = new_word_admin

        with open(basa_path, 'w', encoding='utf-8') as file:
            json.dump(data, file, indent=4, ensure_ascii=False)
        bot.send_message(message.chat.id, f'Слово {user_id} - обновлено на {new_word_admin}')
    else:
        print("Пользователь не найден в базе данных.")
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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