Включи голову и подумай.
Судя по ошибке, у тебя в таблице users ID пользователя - уникальный ключ.
Запрос на создание таблицы у тебя не содержит указания ключа, что, к слову, нехорошо. Я полагаю, ты убрал запись о ключе в какой-то момент, но не пересоздал таблицу.
Ты записываешь в эту таблицу данные о пользователе всякий раз, когда получаешь команду /start.
Внимание, вопрос: что произойдёт, если пользователь введёт /start ещё раз?
Прааааавильно, бот попытается создать ещё одну запись для этого пользователя. Что запрещено наличием первичного ключа.
Для начала ответь себе на вопрос: что тебе нужно сделать в базе, если пользователь ввёл /start ещё раз?
Ничего? Читай про форму INSERT OR IGNORE, она как раз позволяет молча пропустить запись, если такой первичный ключ уже есть.
Сообщить пользователю? Тогда сначала проверь в базе наличие записи для этого пользователя, и если она есть - сообщай, если её нет, то вноси в базу.