Есть тг бот с базой данных sqlite3
Как получить user_id и создать запись с этим user_id в бд ?
Например можно ли без регистрации пользователя получить user_id если пользователь отправил команду /start боту ?
При этом создать запись в таблице БД с его user_id ?
у каждого пользователя телеграмма есть уникальный идентификатор - telegram id - tid
в уведомлениях есть поле отправитель и получатель - chat_id
chat_id - положительное значение - это тид пользователя, отрицательные - ид бесед
Из вашего вопроса не совсем понятно что вы называете user_id
Если это ид пользователя в вашей учетной системе, то нужно реализовать какой-то
из вариантов установления соответствия
Например в ЛК ссылка на начало беседы с ботом с полезной нагрузкой в виде тукена
или если регистрация через смс то получение в ответ на запрос от бота визитки с номером телефона
Олег, под user_id я подразумеваю как уникальный идентификатор пользователя телеграм, то есть id аккаунта.
Как то же бот определяет пользователя который посылает ему команды?
именно это id мне нужно получить
И это вроде возможно после того как юзер запустил бота командой /start
Там нет того что я ищу
"Например можно ли без регистрации пользователя получить user_id если пользователь отправил команду /start боту ?"
Уже читал ваш ответ, но вопрос в другом
Я хочу реализовать команду "избранное" в тг боте, так как людей пользуется много, и команд вызываемых очень много, хочу что бы к каждому user_id привязывалась команда которую он нажал и добавил в "избранное" что бы при переходе в раздел избранное у него был список команд которые он добавил.
Потому и хочется узнать как без регистрации получить user_id и создать запись в таблице.
с бд работаю впервые
Maxim, в каком другом?
Вы крайне не внимательно читаете, регистрации для пользователя не видна, его данные просто заносятся в таблицу USERS чтобы потом его найти. ЕЩЁ раз, пользователь не проходит процедуру регистрации как на форумах и прочее, в моем примере, как только пользователь написал /start его данные автоматически заносятся в таблицу. Надеюсь этот момент понятен, попробуйте и увидите о чем речь.
По поводу "много людей, много команд", для этого Вам нужно спроектировать минимальную БД с таблицами и связями. Например выше уже есть таблица USERS, в которой id, username и прочее. Создаете таблицу ACTIONS - перечень всех возможных команд бота (id, act_name) (1, start) . Создаете таблицу FAVORITES, которую связываете с таблице USERS и ACTION, в ней для каждого пользователя заносится его команды.
Если так не понятно, то ещё рано писать ботов, вернитесь к курсам SQL и Python.