fix session

This commit is contained in:
Pavel_Duron 2022-12-04 17:11:30 +10:00
parent cc4549d598
commit e748ee3913

51
bot.py
View File

@ -66,35 +66,41 @@ async def ident(message: types.Message):
# работа с таблицей # работа с таблицей
if session.query(user).filter(user.user_id == message.from_user.id).first(): if session.query(user).filter(user.user_id == message.from_user.id).first():
b = session.query(user).filter(user.user_id == message.from_user.id).first() b = session.query(user).filter(user.user_id == message.from_user.id).first()
now_time = datetime.datetime.now() now_time = datetime.datetime.now()
session.close()
last_time = b.datetimes last_time = b.datetimes
diff = now_time.day - last_time.day diff = now_time.day - last_time.day
if abs(diff) <= 0: if abs(diff) <= 0:
await bot.send_message(message.chat.id, f'@{message.from_user.username},🚫 вы уже крутили пипису, ее размер <b>{b.dick_size}</b> см! ') with session:
session.close_all() await bot.send_message(message.chat.id, f'@{message.from_user.username},🚫 вы уже крутили пипису, ее размер <b>{b.dick_size}</b> см! ')
print(diff) session.close()
print(type(diff)) print(diff)
print(type(diff))
else: else:
a = session.query(user).filter(user.user_id == message.from_user.id).first() # запрос на поиск в таблице with session:
a.dick_size = (a.dick_size + numb) a = session.query(user).filter(user.user_id == message.from_user.id).first() # запрос на поиск в таблице
a.datetimes = datetime.datetime.now() a.dick_size = (a.dick_size + numb)
session.commit() #обновляет запись a.datetimes = datetime.datetime.now()
await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\ session.commit() #обновляет запись
await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\
Теперь он равен <b>{a.dick_size}</b> см! ') Теперь он равен <b>{a.dick_size}</b> см! ')
session.close() session.close()
else: else:
int_table = user(user_id = message.from_user.id, user_fullname = message.from_user.full_name, dick_size = numb, datetimes = datetime.datetime.now(),\ with session:
chat_id = message.chat.id) int_table = user(user_id = message.from_user.id, user_fullname = message.from_user.full_name, dick_size = numb, datetimes = datetime.datetime.now(),\
session.add(int_table) chat_id = message.chat.id)
session.commit() session.add(int_table)
session.commit()
session.close()
await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\ await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\
Теперь он равен <b>{int_table.dick_size}</b> см!') Теперь он равен <b>{int_table.dick_size}</b> см!')
session.close()
# int_table = user(user_id = message.from_user.id, user_fullname = message.from_user.full_name, dick_size = numb) #импортирую юзер из sqdb # int_table = user(user_id = message.from_user.id, user_fullname = message.from_user.full_name, dick_size = numb) #импортирую юзер из sqdb
@ -112,14 +118,15 @@ chat_id = message.chat.id)
@dp.message_handler(commands=["topdick"]) @dp.message_handler(commands=["topdick"])
async def send_topchat(message: types.Message): async def send_topchat(message: types.Message):
changechat_id = session.query(user).filter(user.user_id == message.from_user.id).first() with session:
chats = message.chat.id changechat_id = session.query(user).filter(user.user_id == message.from_user.id).first()
if changechat_id.chat_id != chats: chats = message.chat.id
changechat_id.chat_id = chats if changechat_id.chat_id != chats:
session.commit() changechat_id.chat_id = chats
session.close()
with session:
top = session.query(user.user_fullname, user.dick_size).order_by(user.dick_size.desc()).filter(user.chat_id == chats).limit(10).all()
session.close() session.close()
top = session.query(user.user_fullname, user.dick_size).order_by(user.dick_size.desc()).filter(user.chat_id == chats).limit(10).all()
session.close()
delimiter = ': ' delimiter = ': '
# проверка на длину списка, если меньше limit, то:''' # проверка на длину списка, если меньше limit, то:'''