diff --git a/handlers/pipisa.py b/handlers/pipisa.py
index 2148327..9c2c7e1 100644
--- a/handlers/pipisa.py
+++ b/handlers/pipisa.py
@@ -10,7 +10,7 @@ import datetime
@dp.message_handler(commands=["dick"])
async def up_dick(message: types.Message):
# рандомайзер
- numb = randint(-7,10)
+ numb = randint(-6,10)
global size_change, dick_plus, dick_minus
dick_plus = f'вырос 🚀 на {numb} см!'
dick_minus = f'уменьшился ✂ на {abs(numb)} см!'
@@ -20,112 +20,150 @@ async def up_dick(message: types.Message):
# работа с таблицей
- b = session.query(user).filter(user.user_id == message.from_user.id).first()
- if b:
- last_time = b.datetimes
- now_time = datetime.datetime.now()
- diff = now_time.day - last_time.day
-
-
-
- if abs(diff) <= 0:
- await bot.send_message(message.chat.id, f'@{message.from_user.username},🚫 вы уже крутили пипису, ее размер {b.dick_size} см! ')
- session.close()
- print(diff)
- print(type(diff))
- else:
- a = session.query(user).filter(user.user_id == message.from_user.id).first() # запрос на поиск в таблице
- a.dick_size = (a.dick_size + numb)
- a.datetimes = datetime.datetime.now()
- session.commit() #обновляет запись
-
- await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\
-Теперь он равен {a.dick_size} см! ')
- session.close()
+ try:
+ b = session.query(user).filter(user.user_id == message.from_user.id).first()
+ if b:
+ last_time = b.datetimes
+ now_time = datetime.datetime.now()
+ diff = now_time.day - last_time.day
+ if abs(diff) <= 0:
+ try:
+ current_dick = b.dick_size
+ await bot.send_message(message.chat.id, f'@{message.from_user.username},🚫 вы уже крутили пипису, ее размер {current_dick} см! ')
+ except:
+ print('ошибка в if diff <=0')
+ session.rollback()
+ finally:
+ session.close_all()
+ print('пользвоатель уже крутил')
+
+ else:
+ try:
+ a = session.query(user).filter(user.user_id == message.from_user.id).first() # запрос на поиск в таблице
+ updetedDick = a.dick_size = (a.dick_size + numb)
+ a.datetimes = datetime.datetime.now()
+ session.flush()
+ session.commit() #обновляет запись
+
+ await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\
+ Теперь он равен {updetedDick} см! ')
+ except:
+ session.rollback()
+ print('ошибка в обновлении пиписы')
+ finally:
+ session.close_all()
+ print('пиписа обновлена')
+
+
- else:
- session.close()
- int_table = user(user_id = message.from_user.id, user_fullname = message.from_user.full_name, dick_size = numb, datetimes = datetime.datetime.now(),\
- chat_id = message.chat.id)
- session.add(int_table)
- session.commit()
+ else:
+ session.close()
+ try:
+ int_table = user(user_id = message.from_user.id, user_fullname = message.from_user.full_name, dick_size = numb, datetimes = datetime.datetime.now(),\
+ chat_id = message.chat.id)
+
+ session.add(int_table)
+ session.flush()
+ session.commit()
+ session.close()
+
+ await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\
+ Теперь он равен {numb} см!')
+ except:
+ print('ошибка в добавлении нового пользователя')
+ session.rollback()
+ finally:
+ session.close_all()
+ print('Успешно добавлен пользователь')
- await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\
-Теперь он равен {int_table.dick_size} см!')
- session.close()
-
+ except:
+ session.rollback()
+ print('ошибка в основном коде')
+ finally:
+ session.close_all()
@dp.message_handler(commands=["topdick"])
async def send_topchat(message: types.Message):
- changechat_id = session.query(user).filter(user.user_id == message.from_user.id).first()
- chats = message.chat.id
- if changechat_id.chat_id != chats:
- changechat_id.chat_id = chats
- session.commit()
- 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()
- delimiter = ': '
+ try:
+ changechat_id = session.query(user).filter(user.user_id == message.from_user.id).first()
+ chats = message.chat.id
+ if changechat_id.chat_id != chats:
+ changechat_id.chat_id = chats
+ session.commit()
+ session.close()
+ else:
+ 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()
+ delimiter = ': '
# проверка на длину списка, если меньше limit, то:
- sizelen = len(top)
- if sizelen < 10:
- lenminus = 10 - sizelen
- top.extend(('-'*lenminus))
- await bot.send_message(message.chat.id, f'🏆Топ 10 бубылд чата🏆\n\n\
-🚀 {delimiter.join(map(str, top[0]))}\n\
-💫 {delimiter.join(map(str, top[1]))}\n\
-🍆 {delimiter.join(map(str, top[2]))}\n\
-🍌 {delimiter.join(map(str, top[3]))}\n\
-🐍 {delimiter.join(map(str, top[4]))}\n\
-🐎 {delimiter.join(map(str, top[5]))}\n\
-🌭 {delimiter.join(map(str, top[6]))}\n\
-🌶 {delimiter.join(map(str, top[7]))}\n\
-👌 {delimiter.join(map(str, top[8]))}\n\
-💩 {delimiter.join(map(str, top[9]))}\n')
- session.close()
- # если все нормально и участников минимум 10
+ sizelen = len(top)
+ if sizelen < 10:
+ lenminus = 10 - sizelen
+ top.extend(('-'*lenminus))
+ await bot.send_message(message.chat.id, f'🏆Топ 10 бубылд чата🏆\n\n\
+ 🚀 {delimiter.join(map(str, top[0]))}\n\
+ 💫 {delimiter.join(map(str, top[1]))}\n\
+ 🍆 {delimiter.join(map(str, top[2]))}\n\
+ 🍌 {delimiter.join(map(str, top[3]))}\n\
+ 🐍 {delimiter.join(map(str, top[4]))}\n\
+ 🐎 {delimiter.join(map(str, top[5]))}\n\
+ 🌭 {delimiter.join(map(str, top[6]))}\n\
+ 🌶 {delimiter.join(map(str, top[7]))}\n\
+ 👌 {delimiter.join(map(str, top[8]))}\n\
+ 💩 {delimiter.join(map(str, top[9]))}\n')
+ session.close()
+ # если все нормально и участников минимум 10
- else:
-
- await bot.send_message(message.chat.id, f'🏆Топ 10 бубылд чата🏆\n\n\
-🚀 {delimiter.join(map(str, top[0]))}\n\
-💫 {delimiter.join(map(str, top[1]))}\n\
-🍆 {delimiter.join(map(str, top[2]))}\n\
-🍌 {delimiter.join(map(str, top[3]))}\n\
-🐍 {delimiter.join(map(str, top[4]))}\n\
-🐎 {delimiter.join(map(str, top[5]))}\n\
-🌭 {delimiter.join(map(str, top[6]))}\n\
-🌶 {delimiter.join(map(str, top[7]))}\n\
-👌 {delimiter.join(map(str, top[8]))}\n\
-💩 {delimiter.join(map(str, top[9]))}\n')
- session.close()
+ else:
+
+ await bot.send_message(message.chat.id, f'🏆Топ 10 бубылд чата🏆\n\n\
+ 🚀 {delimiter.join(map(str, top[0]))}\n\
+ 💫 {delimiter.join(map(str, top[1]))}\n\
+ 🍆 {delimiter.join(map(str, top[2]))}\n\
+ 🍌 {delimiter.join(map(str, top[3]))}\n\
+ 🐍 {delimiter.join(map(str, top[4]))}\n\
+ 🐎 {delimiter.join(map(str, top[5]))}\n\
+ 🌭 {delimiter.join(map(str, top[6]))}\n\
+ 🌶 {delimiter.join(map(str, top[7]))}\n\
+ 👌 {delimiter.join(map(str, top[8]))}\n\
+ 💩 {delimiter.join(map(str, top[9]))}\n')
+ except:
+ session.rollback()
+ print('ошибка в /topdick')
+ finally:
+ session.close_all()
@dp.message_handler(commands=["globaldick"])
async def send_global_top(message: types.Message):
- top_chat = session.query(user.user_fullname, user.dick_size).order_by(user.dick_size.desc()).limit(10).all()
- session.close()
- delimiter = ': '
+ try:
+ top_chat = session.query(user.user_fullname, user.dick_size).order_by(user.dick_size.desc()).limit(10).all()
-
- await bot.send_message(message.chat.id, f'🏆Топ 10 пипис в мире🏆\n\n\
-1. {delimiter.join(map(str, top_chat[0]))}\n\
-2. {delimiter.join(map(str, top_chat[1]))}\n\
-3. {delimiter.join(map(str, top_chat[2]))}\n\
-4. {delimiter.join(map(str, top_chat[3]))}\n\
-5. {delimiter.join(map(str, top_chat[4]))}\n\
-6. {delimiter.join(map(str, top_chat[5]))}\n\
-7. {delimiter.join(map(str, top_chat[6]))}\n\
-8. {delimiter.join(map(str, top_chat[7]))}\n\
-9. {delimiter.join(map(str, top_chat[8]))}\n\
-10. {delimiter.join(map(str, top_chat[9]))}\n')
-
+ delimiter = ': '
+
+
+ await bot.send_message(message.chat.id, f'🏆Топ 10 пипис в мире🏆\n\n\
+ 1. {delimiter.join(map(str, top_chat[0]))}\n\
+ 2. {delimiter.join(map(str, top_chat[1]))}\n\
+ 3. {delimiter.join(map(str, top_chat[2]))}\n\
+ 4. {delimiter.join(map(str, top_chat[3]))}\n\
+ 5. {delimiter.join(map(str, top_chat[4]))}\n\
+ 6. {delimiter.join(map(str, top_chat[5]))}\n\
+ 7. {delimiter.join(map(str, top_chat[6]))}\n\
+ 8. {delimiter.join(map(str, top_chat[7]))}\n\
+ 9. {delimiter.join(map(str, top_chat[8]))}\n\
+ 10. {delimiter.join(map(str, top_chat[9]))}\n')
+ except:
+ session.rollback()
+ print('ошибка в /glovaldick')
+ finally:
+ session.close_all()
def register_handlers_pipisa(dp: Dispatcher):