diff --git a/bot.py b/bot.py
index dc399e5..b823556 100644
--- a/bot.py
+++ b/bot.py
@@ -1,208 +1,24 @@
-from cgitb import text
-import datetime
+from create_bot import dp
import logging
-from random import randint
-from sqlalchemy import create_engine, MetaData, Table, Integer, String, \
- Column, DateTime, ForeignKey, Numeric
-from sqlalchemy.ext.declarative import declarative_base
-from sqlalchemy.orm import sessionmaker
-from aiogram import Bot, Dispatcher, executor, types
-from aiogram.types import ReplyKeyboardRemove, ReplyKeyboardMarkup, KeyboardButton
-from sqdb import user, session, engine
+from aiogram import executor
+from handlers import pipisa, time_new_year, start_help
-
-
-API_TOKEN = '5724991559:AAEuLvpLsgP6LHRGMSyFtQLlR5qPQUO4b_w'
+print('Бот начал работу')
logging.basicConfig(level=logging.DEBUG)
-bot = Bot(token=API_TOKEN, parse_mode="HTML")
-dp = Dispatcher(bot)
-
-@dp.message_handler(commands=["chat"])
-async def send_chat(message: types.Message):
- await message.answer(f'{message.chat.id}')
-@dp.message_handler(commands=["time"])
-async def send_time(message: types.Message):
- new_year = datetime.datetime(2022, 12, 31) #дата нового года
- ct = datetime.datetime.now() #датавремя
- cd = datetime.datetime.now().strftime("%d/%m/%Y") #дата (д,м,г)
- ct1 = ct+datetime.timedelta(hours=15) # +14 часов от сервера
- ct2 = ct1.strftime('%H:%M') # форматирует датувремя просто во время(ч,м)
- raznitsa = (new_year - ct).days #отнимает от нг текущее время и получаем разницу в днях
+pipisa.register_handlers_pipisa(dp)
+time_new_year.register_handlers_time(dp)
- days = ['день', 'дня', 'дней']
- if raznitsa % 10 == 1 and raznitsa % 100 != 11:
- p = 0
- elif 2 <= raznitsa % 10 <= 4 and (raznitsa % 100 < 10 or raznitsa % 100 >= 20):
- p = 1
- else:
- p = 2
- num=(str(raznitsa) + ' ' + days[p])
-
- await message.reply(f'Сегодня {cd} \nВремя: {ct2} \nДо Нового Года осталось {num}')
-
- #####______________________ПИПИСА БОТ БУДЕТ ЗДЕСЬ__________________________________
+start_help.register_handlers_StartHelp(dp)
+
-
-@dp.message_handler(commands=["dick"])
-async def ident(message: types.Message):
-# рандомайзер
- numb = randint(-7,10)
- global size_change, dick_plus, dick_minus
- dick_plus = f'вырос 🚀 на {numb} см!'
- dick_minus = f'уменьшился ✂ на {abs(numb)} см!'
- if numb > 0:
- size_change = dick_plus
- else: size_change = dick_minus
-####
-
-
-
-# работа с таблицей
-
- 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()
- now_time = datetime.datetime.now()
- session.close()
- last_time = b.datetimes
- diff = now_time.day - last_time.day
-
-
- if abs(diff) <= 0:
- with session:
- await bot.send_message(message.chat.id, f'@{message.from_user.username},🚫 вы уже крутили пипису, ее размер {b.dick_size} см! ')
- session.close()
- print(diff)
- print(type(diff))
- else:
- with session:
- 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()
-
- else:
- with session:
- 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()
- session.close()
- await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\
-Теперь он равен {int_table.dick_size} см!')
-
-
-
- # int_table = user(user_id = message.from_user.id, user_fullname = message.from_user.full_name, dick_size = numb) #импортирую юзер из sqdb
- # session.add(int_table)
- # session.commit()
- #обновление
- # dick_update = session.query(user).filter_by(user.user_id = message.from_user.id).update({'dick_size': user.dick_size + numb})
- # session.add(dick_update)
- # session.commit()
- #last_size = session.query(user).filter_by(user_id = message.from_user.id).select_from(dick_size = 'dick_size: ').one()
-
-
-
- #####______________________ПИПИСА БОТ БУДЕТ ЗДЕСЬ__________________________________
-
-@dp.message_handler(commands=["topdick"])
-async def send_topchat(message: types.Message):
- with session:
- 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.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()
- 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'''
- 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()
-
-
-
-@dp.message_handler(commands=["globaldick"])
-async def send_time(message: types.Message):
- with session:
- top_chat = session.query(user.user_fullname, user.dick_size).order_by(user.dick_size.desc()).limit(10).all()
-
- 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')
- session.close()
-
-@dp.message_handler(commands=['start'])
-async def start_func(message: types.Message):
- # user_id = message.from_user.id
- # user_full_name = message.from_user.full_name
- # logging.INFO(f'{user_id=} {user_full_name=}', {time.asctime()})
- await message.reply('похуй')
-
-@dp.message_handler(commands=['photo'])
-async def send_image(message: types.Message):
- await bot.send_photo(message.chat.id, photo='https://memepedia.ru/wp-content/uploads/2018/08/ya-pidoras.jpg', reply_to_message_id=message.message_id)
-
-@dp.message_handler(content_types=types.ContentTypes.TEXT)
-async def send_faggot(message: types.Message):
- print(message.text)
- if message.text == 'хто я':
- await bot.send_photo(message.chat.id, photo='https://www.meme-arsenal.com/memes/ecebd2339c7eab40e09874bd86a38a09.jpg')
-
-#хуй
-engine.dispose()
if __name__ == '__main__':
executor.start_polling(dp, skip_updates=True)
diff --git a/create_bot.py b/create_bot.py
new file mode 100644
index 0000000..f79b11e
--- /dev/null
+++ b/create_bot.py
@@ -0,0 +1,4 @@
+from aiogram import Bot, Dispatcher
+API_TOKEN = '5724991559:AAEuLvpLsgP6LHRGMSyFtQLlR5qPQUO4b_w'
+bot = Bot(token=API_TOKEN, parse_mode="HTML")
+dp = Dispatcher(bot)
\ No newline at end of file
diff --git a/handlers/__init__.py b/handlers/__init__.py
new file mode 100644
index 0000000..153685f
--- /dev/null
+++ b/handlers/__init__.py
@@ -0,0 +1,3 @@
+from handlers import pipisa
+from handlers import time_new_year
+from handlers import start_help
\ No newline at end of file
diff --git a/handlers/pipisa.py b/handlers/pipisa.py
new file mode 100644
index 0000000..0ed1cad
--- /dev/null
+++ b/handlers/pipisa.py
@@ -0,0 +1,133 @@
+from aiogram import types, Dispatcher
+from create_bot import bot, dp
+from sqdb import user, session
+from random import randint
+import datetime
+
+
+
+@dp.message_handler(commands=["dick"])
+async def up_dick(message: types.Message):
+# рандомайзер
+ numb = randint(-7,10)
+ global size_change, dick_plus, dick_minus
+ dick_plus = f'вырос 🚀 на {numb} см!'
+ dick_minus = f'уменьшился ✂ на {abs(numb)} см!'
+ if numb > 0:
+ size_change = dick_plus
+ else: size_change = dick_minus
+
+
+# работа с таблицей
+
+ 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()
+ now_time = datetime.datetime.now()
+ session.close()
+ last_time = b.datetimes
+ diff = now_time.day - last_time.day
+
+
+ if abs(diff) <= 0:
+ with session:
+ await bot.send_message(message.chat.id, f'@{message.from_user.username},🚫 вы уже крутили пипису, ее размер {b.dick_size} см! ')
+ session.close()
+ print(diff)
+ print(type(diff))
+ else:
+ with session:
+ 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()
+
+ else:
+ with session:
+ 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()
+ session.close()
+ await bot.send_message(message.chat.id, f'@{message.from_user.username}, ваш писюн {size_change}\n\
+Теперь он равен {int_table.dick_size} см!')
+
+
+@dp.message_handler(commands=["topdick"])
+async def send_topchat(message: types.Message):
+ with session:
+ 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.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()
+ 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
+
+ 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()
+
+
+
+@dp.message_handler(commands=["globaldick"])
+async def send_global_top(message: types.Message):
+ with session:
+ top_chat = session.query(user.user_fullname, user.dick_size).order_by(user.dick_size.desc()).limit(10).all()
+
+ 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')
+ session.close()
+
+
+def register_handlers_pipisa(dp: Dispatcher):
+ dp.register_message_handler(up_dick)
+ dp.register_message_handler(send_topchat)
+ dp.register_message_handler(send_global_top)
+
diff --git a/handlers/start_help.py b/handlers/start_help.py
new file mode 100644
index 0000000..161987d
--- /dev/null
+++ b/handlers/start_help.py
@@ -0,0 +1,25 @@
+from aiogram import types, Dispatcher
+from create_bot import dp, bot
+
+@dp.message_handler(commands=['start'])
+async def start_func(message: types.Message):
+ # user_id = message.from_user.id
+ # user_full_name = message.from_user.full_name
+ # logging.INFO(f'{user_id=} {user_full_name=}', {time.asctime()})
+ await message.reply('похуй')
+
+@dp.message_handler(commands=['photo'])
+async def send_image(message: types.Message):
+ await bot.send_photo(message.chat.id, photo='https://memepedia.ru/wp-content/uploads/2018/08/ya-pidoras.jpg', reply_to_message_id=message.message_id)
+
+@dp.message_handler(content_types=types.ContentTypes.TEXT)
+async def send_faggot(message: types.Message):
+ print(message.text)
+ if message.text == 'хто я':
+ await bot.send_photo(message.chat.id, photo='https://www.meme-arsenal.com/memes/ecebd2339c7eab40e09874bd86a38a09.jpg')
+
+
+def register_handlers_StartHelp(dp: Dispatcher):
+ dp.register_message_handler(start_func)
+ dp.register_message_handler(send_faggot)
+ dp.register_message_handler(send_image)
\ No newline at end of file
diff --git a/handlers/time_new_year.py b/handlers/time_new_year.py
new file mode 100644
index 0000000..2b756d9
--- /dev/null
+++ b/handlers/time_new_year.py
@@ -0,0 +1,27 @@
+from aiogram import types, Dispatcher
+from create_bot import dp, bot
+import datetime
+
+@dp.message_handler(commands=["time"])
+async def send_time(message: types.Message):
+ new_year = datetime.datetime(2022, 12, 31) #дата нового года
+ ct = datetime.datetime.now() #датавремя
+ cd = datetime.datetime.now().strftime("%d/%m/%Y") #дата (д,м,г)
+ ct1 = ct+datetime.timedelta(hours=15) # +14 часов от сервера
+ ct2 = ct1.strftime('%H:%M') # форматирует датувремя просто во время(ч,м)
+ raznitsa = (new_year - ct).days #отнимает от нг текущее время и получаем разницу в днях
+
+ days = ['день', 'дня', 'дней']
+ if raznitsa % 10 == 1 and raznitsa % 100 != 11:
+ p = 0
+ elif 2 <= raznitsa % 10 <= 4 and (raznitsa % 100 < 10 or raznitsa % 100 >= 20):
+ p = 1
+ else:
+ p = 2
+ num=(str(raznitsa) + ' ' + days[p])
+
+ await message.reply(f'Сегодня {cd} \nВремя: {ct2} \nДо Нового Года осталось {num}')
+
+
+def register_handlers_time(dp: Dispatcher):
+ dp.register_message_handler(send_time)
\ No newline at end of file