Написал бота, и к нему подключил бд, но я что-то не то делаю и когда в боте пишу /start (запускаю бота в тг), база данных ломается, я не особо понимаю как делать подобные запросы.
main.py
@dp.message(CommandStart())
async def start(message: Message):
if(not user_exist(message.from_user.id)):
add_user(message.from_user.id)
await message.answer("Введите предпочитаемое имя: ")
else:
await message.answer("Приветуствую", reply_markup=kb.mainMenu)
@dp.message()
async def bot_message(message: Message):
if (user_signup(message.from_user.id)=='set_nickname'):
if "@" or '/' in message:
await message.answer('В имени не должный присутсвтовать следующие знаки: @, /')
if len(message) > 15:
await message.answer('Имя не должно превышать 15 символов!')
else:
user_add_nickname(message)
await message.answer(f'Успешно! теперь я буду называть вас{get_name_user}')
else:
await message.answer('Не понял(')
db.py
import pymysql
import pymysql.cursors
try:
con = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='',
database='tgbot',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor
)
print("Successfully connected...")
except Exception as ex:
print("Not connection")
print(ex)
with con:
cur = con.cursor()
cur.execute("SELECT VERSION()")
version = cur.fetchone()
print(version)
def add_user(message):
with con:
cur = con.cursor()
cur.execute(f"INSERT INTO 'users' (user_id) VALUES ({message});")
cur.execute("INSERT INTO 'users' (signup) VALUES (set_nickname);")
con.commit()
def user_exist(message):
with con:
cur = con.cursor()
cur.execute(f"SELECT * FROM 'users' WHERE 'user_id' = ({message});")
con.commit()
def user_signup(message):
with con:
cur = con.cursor()
cur.execute(f"SELECT * FROM 'users' WHERE 'user_id' = ({message}) AND 'signup' = 'set_nickname';")
con.commit()
def user_add_nickname(message):
with con:
cur = con.cursor()
cur.execute(f"INSERT INTO 'users' (nickname) VALUES ({message}) AND (signup) VALUES (done);")
con.commit()
def get_name_user(message):
with con:
cur = con.cursor()
cur.execute(f"SELECT 'nickname' FROM 'users' WHERE 'user_id' = ({message});")
con.commit()
ошибка очень длинная залью на pastebin
https://pastebin.com/dCzmNiRy