sqlite3.InterfaceError: Error binding parameter 1 - probably unsupported type
Вот весь код:
import telebot
import configure
from telebot import types
import sqlite3
client = telebot.TeleBot(configure.config['token'])
conn = sqlite3.connect('users.db', check_same_thread=False)
cursor = conn.cursor()
con = sqlite3.connect('sobt.db', check_same_thread=False)
cursorr = con.cursor()
def db_table_val(user_id: int, user_name: str, username: str):
cursor.execute('INSERT INTO users (user_id, user_name, username) VALUES (?, ?, ?)', (user_id, user_name, username))
conn.commit()
def db_table_ale(us_idd: int, sob:str):
cursorr.execute('INSERT INTO sobt (us_idd, sob) VALUES (?, ?)', (us_idd, sob))
con.commit()
markup1 = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Добавить событие")
btn3 = types.KeyboardButton('Просмотреть мои события')
markup1.add(btn1,btn3)
markup2 = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn2 = types.KeyboardButton("назад")
markup2.add(btn2)
markup3 = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn4= types.KeyboardButton('назад')
btn5= types.KeyboardButton('редактировать событие')
@client.message_handler (commands=['start'])
def start (message):
client.send_message(message.from_user.id, 'Привет, я создан что бы напоминать тебе о важных событиях', reply_markup=markup1)
us_id = message.from_user.id
us_name = message.from_user.first_name
username = message.from_user.username
cursor.execute("SELECT user_id FROM users WHERE user_id = ?", (us_id,))
if cursor.fetchone() is None:
db_table_val(user_id=us_id, user_name=us_name, username=username)
@client.message_handler(content_types=['text'])
def text(message):
if (message.text == "Добавить событие"):
client.send_message(message.from_user.id, 'Введи событие о котором мне нужно тебе напомнить', reply_markup=markup2)
client.register_next_step_handler(message, user)
@client.message_handler(content_types=['text'])
def user(sbt):
if (sbt.text == 'назад'):
client.send_message(sbt.from_user.id, 'Выбери действие в меню',
reply_markup=markup1)
elif (sbt.text == 'private'):
client.send_message(sbt.from_user.id, 'записано')
client.send_message(sbt.from_user.id, 'Выбери действие в меню',
reply_markup=markup1)
sbt.from_user.id=int(sbt.from_user.id)
db_table_ale(us_idd=sbt.from_user.id, sob=sbt)
client.polling(none_stop=True, interval=0)
Вот что мне выдаёт:
cursorr.execute('INSERT INTO sobt (us_idd, sob) VALUES (?, ?)', (us_idd, sob))
sqlite3.InterfaceError: Error binding parameter 1 - probably unsupported type.
Структура в SQLITE выглядит вот так:
us_idd|INTEGER
sob|TEXT