при вызове функции get_user выдает ошибку
Closed this issue · 1 comments
MakArtKar commented
при вызове функции get_user выдает ошибку
2020-06-25 17:50:55,683 (util.py:66 WorkerThread1) ERROR - TeleBot: "ProgrammingError occurred, args=('SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 140503022049088 and this is thread id 140502923400960.',)
Traceback (most recent call last):
File "/home/makart/.local/lib/python3.6/site-packages/telebot/util.py", line 60, in run
task(*args, **kwargs)
File "test.py", line 33, in make_form
user = base.get_user(chat_id)
File "/home/makart/forms_bot/db_worker.py", line 105, in get_user
self.__insert_user_if_not_in_db(chat_id)
File "/home/makart/forms_bot/db_worker.py", line 83, in __insert_user_if_not_in_db
self.__db_cursor.execute("INSERT OR IGNORE INTO Users(chat_id) VALUES(?)", (chat_id,))
sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 140503022049088 and this is thread id 140502923400960.
"
Originally posted by @MakArtKar in #2 (comment)
MakArtKar commented
При таком коде
import telebot
from telebot import types
import config
from db_worker import DataBase, User, Form
from import_to_google_sheets import post_in_sheets
base = DataBase(config.DB_LOCATION)
bot = telebot.TeleBot(config.BOT_TOKEN)
@bot.message_handler(func=lambda message: True)
def main(message):
user = base.get_user(message.chat.id)
base.update_user(user)
bot.send_message(message.chat.id, 'Привет')
if __name__ == '__main__':
bot.infinity_polling()
выдает такую ошибку
2020-06-25 18:06:36,243 (util.py:66 WorkerThread2) ERROR - TeleBot: "ProgrammingError occurred, args=('SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 140708057491264 and this is thread id 140707950450432.',)
Traceback (most recent call last):
File "/home/makart/.local/lib/python3.6/site-packages/telebot/util.py", line 60, in run
task(*args, **kwargs)
File "error.py", line 13, in main
user = base.get_user(message.chat.id)
File "/home/makart/forms_bot/db_worker.py", line 105, in get_user
self.__insert_user_if_not_in_db(chat_id)
File "/home/makart/forms_bot/db_worker.py", line 83, in __insert_user_if_not_in_db
self.__db_cursor.execute("INSERT OR IGNORE INTO Users(chat_id) VALUES(?)", (chat_id,))
sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 140708057491264 and this is thread id 140707950450432.
"