@ibragim_2008

Почему не работает sql запрос в условиях?

выполняю INSERT запрос к SQlite в условии но запрос не выполняется хоть и условие выполняется. когда я выполняю запрос вне функции и условия все работает.
Код:
import sqlite3
import telebot

bot = telebot.TeleBot('1827293334:AAGHrPyNde1etaEjua3dcfGfoYUK4hVh20g')

connection = sqlite3.connect('telegram.db', check_same_thread=False)
cursor = connection.cursor()

@bot.message_handler(commands=['start'])
def start_command(message):
    db1 = cursor.execute(f"SELECT * FROM telegram_table WHERE id = {message.from_user.id}")

    if db1.fetchall() == []:
        if " " in message.text:
            referrer_id_str = message.text.split()[1]
            referrer_id = int(referrer_id_str)
            cursor.execute(f'INSERT INTO telegram_table VALUES(NULL,{message.from_user.id}, {referrer_id},"{message.from_user.username}")')
        else:
            cursor.execute(f'INSERT INTO telegram_table VALUES(NULL,{message.from_user.id}, {0},"{message.from_user.username}")')
    else:
        return
    user_markup = telebot.types.ReplyKeyboardMarkup(True, False)
    user_markup.row('Получить ссылку', 'Мои рефералы')
    bot.send_message(message.chat.id, f"Здравствуйте {message.from_user.first_name}, в данном боте вы можете получить реферальную ссылку чтобы делиться ею с другими людьми", reply_markup=user_markup)

@bot.message_handler(content_types=['text'])
def get_text_messages(message):
    if message.text == "Получить ссылку":
        bot.send_message(message.from_user.id, f"Ваша реферальная ссылка: https://t.me/TestPavel_bot?start={message.from_user.id}")
    elif message.text == "Мои рефералы":
        bot.send_message(message.from_user.id, "Напиши привет")
bot.polling(none_stop=True)
connection.commit()
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
@o5a
После изменения данных нужно делать
connection.commit()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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