Для будущих искателей ответа на вопрос. Смотрю вопрос популярный, задавали его 3 года назад, но никто не указал простое решение. Во-первых, SQLIte говорит, что не может работать в нескольких потоках. В ошибке он говорит, что объект соединения с БД был создан в одном потоке, а вы вызываете соединение в другом. Во-вторых, было ли это возможно раньше, когда задавали вопрос, не знаю, но есть простое решение ошибки. Можно "включить" поддержку многопоточности отключив проверку потока в котором вызывается объект. Отключить с помощью аргумента
check_same_thread. Но стоит учитывать, что данные могут быть повреждены или неправильно записаны при одновременной записи в БД из разных потоков. Поэтому, если такое может быть, стоит написать "обёртку" с регулировкой потоков или очереди запросов пользователей.
conn = sqlite3.connect(path_db, check_same_thread=False)