@Megach

Как записать ид человека из телеграма в базу данных sqlite3 с помощи pyTelegramBotAPI?

Здраствуйте

Мне нужно когда человек пишет боту сообщения бот узнавал его ид телеграма и записал в базу данных
  • Вопрос задан
  • 1429 просмотров
Решения вопроса 1
@alekssamos
Программист любитель
import sqlite3

# Создаём базу,
# если её ещё не существует
with sqlite3.connect("tg.sqlite") as conn:
	cursor = conn.cursor()
	cursor.execute("""
	CREATE TABLE IF NOT EXISTS users
	(CHAT_ID INTEGER, name TEXT)
	""")

# Теперь запишем:
chat_id = 123 # допустим
text = "Vasya"
with sqlite3.connect("tg.sqlite") as conn:
	cursor.execute("INSERT INTO users VALUES (?,?)", (chat_id, text))
	conn.commit()

# И теперь прочитаем.
chat_id = 123 # допустим
# У нас есть только chat_id,
# получим имя из нашей базы:
with sqlite3.connect("tg.sqlite") as conn:
	sql = "SELECT name FROM users WHERE chat_id=?"
	cursor.execute(sql, [(chat_id)])
	name = cursor.fetchone()[0]
	print(f"Пользователя с айди {chat_id} зовут {name}.")
# всё!
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@iredoff
Все просто, чтоб получить айди пользователя, используйте callback.chat.id в ивенте message. И после можете записывать в базу
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы