Бот на python pyTelegramBotAPI отправляет не то сообщение

После нажатия на KeyBoardButton, отправляется сообщение от пользователя, но бот отправляет не то сообщение, я проверил все условия всё вроде верно, но бот всё равно работает некорректно

Код:

import telebot
from telebot import types
import config
import sqlite3

connection = sqlite3.connect('database.db')
cursor = connection.cursor()

cursor.execute('''
    CREATE TABLE IF NOT EXISTS Users (
        id INTEGER PRIMARY KEY,
        first_name TEXT,
        username TEXT,
        user_id INTEGER,
        chanel_id INTEGER
    )
''')

connection.commit()
connection.close()

bot = telebot.TeleBot(config.BOT_TOKEN)

admin_id = 'Admin_id'

user_id = None

photo_yours_chanel = None
caption_yours_anket = None

@bot.message_handler(commands=['start'])
def welcome(message):
    this_new_user = registration(message)
    if this_new_user == False:
        connection = sqlite3.connect('database.db')
        cursor = connection.cursor()
        cursor.execute('INSERT INTO Users (first_name, user_id) VALUES (?, ?)',
                       (message.from_user.first_name, message.chat.id,))
        connection.commit()
        connection.close()
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    btn_create = types.KeyboardButton('Хочу купить публикацию рекламы?')
    btn_post = types.KeyboardButton('Хочу размещать рекламу в своём канале?')
    markup.add(btn_create, btn_post)

    bot.send_message(message.chat.id, 'Привет!\nДля начала выбери, что тебя интересует:\n*Купить рекламу?\n*Начать размещать рекламу и зарабатывать?', reply_markup=markup)

def registration(message):
    connection = sqlite3.connect('database.db')
    cursor = connection.cursor()
    users_id = cursor.execute('SELECT * FROM Users WHERE user_id = ?', (message.chat.id,)).fetchall()
    return bool(users_id)

@bot.message_handler(content_types='text')
def message_processing(message):
    if message.text == 'Хочу купить публикацию рекламы?':
        markup = types.InlineKeyboardMarkup()
        btn_private = types.InlineKeyboardButton(
            "Частное (свои вещи)", callback_data="type_private"
        )
        btn_company = types.InlineKeyboardButton(
            "Компания/ИП/Самозанятый", callback_data="type_company"
        )
        btn_photo = types.InlineKeyboardButton(
            "Размещение фото", callback_data="type_photo"
        )
        btn_media = types.InlineKeyboardButton(
            "Размещение видео", callback_data="type_media"
        )
        btn_link = types.InlineKeyboardButton(
            "Размещение текста с ссылкой", callback_data="type_link"
        )
        markup.add(btn_private, btn_company, btn_photo, btn_link, btn_media)
        bot.send_message(
            message.chat.id, "Выберите тип объявления:", reply_markup=markup
        )
    elif message.text == 'Хочу размещать рекламу в своём канале?':
        post_markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn1 = types.KeyboardButton('готово')
        post_markup.add(btn1)
        bot.send_message(message.chat.id, 'Для начала назначьте бота администратором в вашем канале/группе и откройте свой username(если он скрыт)\nЕго можно открыть в настройках аккаунта', reply_markup=post_markup)
    elif message.text == 'готово':
        if message.from_user.username != None:
            global user_id
            user_id = message.chat.id
            user = message.from_user.username
            connection = sqlite3.connect('database.db')
            cursor = connection.cursor()
            cursor.execute('UPDATE Users SET username = ? WHERE user_id = ?', (user, user_id))
            bot.send_message(message.chat.id, ' Теперь отправьте команду /start в канал')
            connection.commit()
            connection.close()
        else:
            bot.send_message(message.chat.id, 'У вас нет @username, для его создания\n1)зайдите в настройки аккаунта\n2)Нажмите на кнопку "Добавить имя пользователя"\n3)Водите имя в нужную строку\nПосле того как создадите @username пользователя нажмите на кнопку "готово"')
    elif message.text == 'Заполнить анкету' or 'Отредактировать анкету':
        msg = bot.send_message(message.chat.id, '1.Напишите название вашего телеграм канала\n2.Тематику вашего канала\n3.Цена одной публикации\n4.Описание контента и целевой аудитории\n(Реклама будет публиковаться не чаще чем раз в день)')
        bot.register_next_step_handler(msg, lambda msg: process_ad_form_photo(msg, poster=True))
    elif message.text == 'Посмотреть анкету?':
        global photo_yours_chanel
        global caption_yours_anket
        markup_anket = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn_post = types.KeyboardButton('Опубликовать анкету')
        btn_refactor = types.KeyboardButton('Отредактировать анкету')
        markup_anket.add(btn_refactor, btn_post)
        bot.send_photo(message.chat.id, photo_yours_chanel, caption=caption_yours_anket + '\nНет рекламодателя')
        bot.send_message(message.chat.id, 'Если вам нравится ваша анкета публикуйте её в ленту, а если нет, отредактируйте', reply_markup=markup_anket)
    elif message.text == 'Опубликовать анкету':
        bot.send_message(message.chat.id, 'Ваша анкета опубликована')
    else:
        bot.send_message(message.chat.id, 'Неизвестная команда')

@bot.callback_query_handler(func=lambda call: call.data.startswith("type_"))
def callback_type(call):
    ad_type = call.data.split("_")[1]  # Получаем тип объявления (private, company...)
    chat_id = call.message.chat.id  # Берем id чата пользователя, а не группы

    #  Теперь нужно сформировать форму для заполнения объявления
    form_message = f"Заполните форму для объявления типа '{ad_type}':\n\n"
    if ad_type == "private":
        form_message += "Описание товара:\nЦена (если есть, иначе укажите 'бесплатно'):\n(В одном сообщении)"
    elif ad_type == "company":
        form_message += "Название компании:\nОписание деятельности:\nКонтактная информация:\n(В одном сообщении)"
    elif ad_type == "photo":
        form_message += "Описание фото(Первым сообщением):\nСамо фото(вторым сообщением):"
        mess = bot.send_message(chat_id, form_message)
        bot.register_next_step_handler(mess, process_ad_form_photo)
        return
    elif ad_type == "link":
        form_message += "Описание ссылки:\nСама ссылка:\n(В одном сообщении)"
    else:
        bot.send_message(
            chat_id, "Неизвестный тип объявления. Пожалуйста, начните заново."
        )
        return

    bot.send_message(chat_id, form_message)

    #  Устанавливаем состояние ожидания следующего сообщения от пользователя
    bot.register_next_step_handler(call.message, process_ad_form)

@bot.channel_post_handler()
def proccesing_in_chanal(message):
    if message.text == '/start':
        global user_id
        admins = bot.get_chat_administrators(message.chat.id)
        for i in admins:
            if int(i.user.id) == user_id:
                markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
                btn_next = types.KeyboardButton('Заполнить анкету')
                markup.add(btn_next)
                bot.send_message(user_id, 'Отлично! Самое время заполнить анкету вашего канала, чтобы с вами могли связаться рекламодатели.', reply_markup=markup)
                bot.send_message(message.chat.id, "Бот настроен!")
                connection = sqlite3.connect('database.db')
                cursor = connection.cursor()
                cursor.execute('UPDATE Users SET chanel_id = ? WHERE user_id = ?', (message.chat.id, user_id,))
                connection.commit()
                connection.close()
        user_id = None

def process_ad_form(message):
    chat_id = message.chat.id
    text = message.text
    bot.send_message(chat_id, text)

def process_ad_form_photo(message, poster = False):
    chat_id = message.chat.id
    text = message.text
    if poster == False:
        mesg1 = bot.send_message(chat_id, 'Отлично теперь фото:')
        bot.register_next_step_handler(mesg1, lambda mesg1: get_photo(mesg1, text, poster=False))
    elif poster == True:
        mesg2 = bot.send_message(chat_id, 'Супер теперь скиньте аватарку вашего канала, чтобы ваша анкета выглядела ярче и привлекательнее')
        bot.register_next_step_handler(mesg2, lambda mesg2: get_photo(mesg2, text, poster= True))

def get_photo(message, text, poster = False):
    global photo_yours_chanel
    global caption_yours_anket
    img_id = message.photo[-1].file_id
    photo_yours_chanel = img_id
    caption_yours_anket = text
    if poster == True:
        markup_poster = types.ReplyKeyboardMarkup(resize_keyboard=True)
        btn_wathc = types.KeyboardButton('Посмотреть анкету?')
        markup_poster.add(btn_wathc)
        bot.send_message(message.chat.id, 'Так теперь тебе нужно посмотреть и выложить анкету', reply_markup=markup_poster)
    elif poster == False:
        bot.send_photo(message.chat.id, img_id, caption=text)

if __name__ == '__main__':
    bot.infinity_polling()

Ответы (0 шт):