Не добавляется информация в базу данных sqlite3 python Telebot
Ошибок не выдаёт. Также при попытке получения данных возвращает имя и вместо нуля None Также при попытке передачи денег триггерит на NoneType
import telebot
from telebot import types
import time
import requests
import sqlite3
bot = telebot.TeleBot('нетъ :3')
con = sqlite3.connect('user.db', check_same_thread=False, isolation_level=None)
cursor = con.cursor()
class DataBase:
def start():
with con:
con.execute("""
CREATE TABLE IF NOT EXISTS User (
id TEXT PRIMARY KEY AUTOINCREMENT,
money INTEGER NOT NULL
);
""")
con.commit()
def find(user):
with con:
cursor.execute('SELECT id FROM User')
users = cursor.fetchall()
if users is None:
cursor.execute('INSERT INTO User (id, money) VALUES(?,?)', (user, 0))
con.commit()
def balance_money(user):
with con:
cursor.execute('SELECT money FROM User WHERE id = ?', (user,))
records = cursor.fetchone()
return records
def give_money(user, give_user, money_given):
money_id = DataBase.balance_money(user)
money_reply = DataBase.balance_money(give_user)
with con:
cursor.execute('UPDATE User SET money = ? WHERE id = ?', ("money - money_reply", user))
cursor.execute('UPDATE User SET money = ? WHERE id = ?', ("money + money_id", give_user))
con.commit()
DataBase.start()
@bot.message_handler(commands = ['start'])
#########################################
@bot.message_handler(commands = ['my_wallet'])
def wallet(message):
user = message.chat.id
DataBase.find(user)
try:
balance = DataBase.balance_money(user)
bot.reply_to(message, f"Баланс {message.from_user.first_name} равен {balance}" )
except sqlite3.Error as er:
bot.reply_to(message, f"БЛЯТЬ ЭТА ХУЙНЯ ЗАГНУЛАСЬ НАХУЙ: {er}" )
@bot.message_handler(commands = ['give'])
def give_money(message):
try:
if message.reply_to_message:
chat_id = message.chat.id
user_id = message.reply_to_message.from_user.id
DataBase.find(chat_id)
DataBase.find(user_id)
user_status = bot.get_chat_member(chat_id, user_id).status
balance = DataBase.balance_money(chat_id)
money_given = int(message.text[6:])
if money_given >= balance or (user_status == 'administrator' or user_status == 'creator'):
DataBase.give_money(chat_id, user_id, money_given)
bot.reply_to(message, f"{message.from_user.first_name} передал {message.reply_to_message.from_user.first_name} {money_given} р \nТекущий баланс {message.reply_to_message.from_user.username} - {DataBase.balance_money(user_id)}")
else:
bot.reply_to(message, "ДАУНИЧ У ТЕБЯ СТОЛЬКО ДЕНЕГ НЕТ")
else:
bot.reply_to(message, "Эта ебучая команда должна юзать в ответ на сообщение юзера, которому ты хочешь дать денег")
except ValueError:
bot.reply_to(message, "ДАЛБАЁБ ВВЕДИ СКОЛЬКО ТЫ ХОЧЕШЬ ДАТЬ ДАУНИЧУ" )
Извиняюсь за маты, просто бот чисто для компании Помогите пж ><