Как занести и вытащить данные с базы данных sqlite3
import sqlite3
import telebot
from telebot.types import Message
bot = telebot.TeleBot("")
@bot.message_handler(commands=['subscribe'])
def subscribe(message: Message):
connect = sqlite3.connect('users6.db')
cursor = connect.cursor()
cursor.execute("""CREATE TABLE IF NOT EXISTS login_id(
id INTEGER PRIMARY KEY,
user_name TEXT NOT NULL UNIQUE,
last_name TEXT NOT NULL UNIQUE)""")
connect.commit()
people_id = message.chat.id
user1_name = message.chat.first_name
last_name = message.chat.last_name
cursor.execute(f"SELECT id FROM login_id WHERE id = '{people_id}'")
cursor.execute(f"SELECT user_name FROM login_id WHERE user_name = '{user1_name}' ")
cursor.execute(f"SELECT last_name FROM login_id WHERE last_name = '{last_name}' ")
data = cursor.fetchone()
if data is None:
users_id = message.chat.id
first_name = message.chat.first_name
last_name1 = message.chat.last_name
cursor.execute("INSERT INTO login_id VALUES(?, ?, ?);", (users_id, f'{first_name}', f'{last_name1}'))
connect.commit()
bot.send_message(message.chat.id, 'Ты подписался_ась на рассылку✅')
else:
bot.send_message(message.chat.id, 'Ты уже подписан?')
Есть вот такая база данных и нужно чтобы в базу данных записывался город пользователя и нужно чтоб это сохранилось в базу данных, чтобы пользователь не вводил каждый раз город а при нажатие одной кнопки ему сразу показалось погода, еще добавил код ниже.
@bot.message_handler(content_types=["text"])
def get_weather(message):
code_to_smail = {
"Clear": 'Ясно\U00002600',
"Clouds": 'Облачно\U00002601',
"Rain": 'Дождь\U0001F327',
"Thunderstorm": 'Гроза\U000026C8',
"Mist": 'Туман\U0001F32B',
"Snow": 'Снег\U00002744',
}
city = message.text.strip().lower()
res = requests.get(f'https://api.openweathermap.org/data/2.5/weather?q={city}&units=metric&lang=ru&appid={API}')
with open(log_path, "a") as f:
f.write("сообщение старт")
if res.status_code == 200:
with open(log_path, "a") as f:
f.write(str(res))
data = json.loads(res.text)
with open(log_path, "a") as f:
f.write(str(data))
temp = data["main"]["temp"]
weather_description = data['weather'][0]['main']
if weather_description in code_to_smail:
wd = code_to_smail[weather_description]
else:
wd = 'Не могу распознать что там, посмотри сам'
feels_like = data["main"]["feels_like"]
pressure = data["main"]["pressure"]
humidity = data["main"]["humidity"]
wind = data["wind"]["speed"]
bot.send_message(message.chat.id,
f'· На улице: {wd}\n'
f'· Температура: {int(temp)}°C\U0001f321\n'
f'· Но по ощущениям {int(feels_like)}°C\n'
f'· Давление: {pressure} мм.рт.ст\n'
f'· Ветер: {wind} м/с?\n'
f'· Влажность: {humidity} %?\n'
f'<b>Всего доброго!?\n</b>', parse_mode='html',)