events.py 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. from aiogram import types, Dispatcher
  2. from bot import database
  3. from bot.keyboards import register_kb, make_calendar
  4. from bot.functions import make_date
  5. async def make_event(message: types.message):
  6. Db = database.Database()
  7. if not Db.sql_simple_check(f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
  8. not Db.sql_simple_check(f"select approved from user_table where tg_id={message.from_user.id}"):
  9. await message.delete()
  10. await message.answer("Команды станут доступны после регистрации", reply_markup=register_kb)
  11. else:
  12. if message.text == "🎯 Запланировать мероприятие":
  13. await message.delete()
  14. await message.answer(f"Выберете дату чтобы увидеть список мероприятий\n\n"
  15. f"Так же календарь мероприятий можно посмотреть в "
  16. f"<a href=moodle.tomtit.tomsk.ru>Moodle</a>\n\n"
  17. f"Сегодняшняя дата <b>{make_date()}</b>", reply_markup=make_calendar())
  18. async def select_date(call: types.CallbackQuery):
  19. await call.message.answer(call.data)
  20. async def my_events(message: types.Message):
  21. Db = database.Database()
  22. if not Db.sql_simple_check(sql=f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
  23. not Db.sql_simple_check(sql=f"select approved from user_table where tg_id={message.from_user.id}"):
  24. await message.delete()
  25. await message.answer("Команды станут доступны после регистрации", reply_markup=register_kb)
  26. else:
  27. events = Db.sql_parse_user_events(f"select description,`date` from events_table WHERE owner ={message.from_user.id}")
  28. await message.answer("Список событий которые Вы запланировали")
  29. for event in events:
  30. await message.answer(event)
  31. async def all_events(message: types.Message):
  32. Db = database.Database()
  33. if not Db.sql_simple_check(sql=f"select tg_id from user_table where tg_id ={message.from_user.id}") or \
  34. not Db.sql_simple_check(sql=f"select approved from user_table where tg_id={message.from_user.id}"):
  35. await message.delete()
  36. await message.answer("Команды станут доступны после регистрации", reply_markup=register_kb)
  37. else:
  38. events = Db.sql_parse_all_events(f"select events_table.description, user_table.name from events_table inner join user_table on events_table.owner = user_table.tg_id")
  39. await message.answer("Список всех событий")
  40. for event in events:
  41. await message.answer(event)
  42. def events_register(dp: Dispatcher):
  43. dp.register_message_handler(make_event, text="🎯 Запланировать мероприятие")
  44. dp.register_message_handler(my_events, text="🗒 ️Мои события")
  45. dp.register_message_handler(all_events, text="📅 Все события")
  46. dp.register_callback_query_handler(select_date, text_startswith='date_')