start.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import asyncio
  2. from aiogram import types, Dispatcher
  3. from bot.keyboards import main_kb, register_kb, check_register_kb
  4. from bot import database
  5. from bot import sql
  6. from bot.dispatcher import bot
  7. from aiogram.dispatcher.storage import FSMContext
  8. from handlers.user.states import SendBugState, MessageToAll
  9. from handlers.admin.notifications import new_bug, message_to_all
  10. # @dp.message_handler(commands=['start'])
  11. async def start_cmd(message: types.Message):
  12. db = database.Database()
  13. await message.delete()
  14. if not db.sql_fetchone(sql.check_id(message.from_user.id)):
  15. await message.answer(f"🤖Вас приветствует лакей ТТИТ🤖\n\n"
  16. "Для доступа к функциям нужно пройти простую регистрацию\n", reply_markup=register_kb)
  17. elif db.sql_fetchone(sql.check_approved(message.from_user.id)) == "0":
  18. await message.answer(f"Ваша заявка находится на рассмотрении", reply_markup=check_register_kb)
  19. else:
  20. msg = await message.answer(f"🤖Вас приветствует лакей ТТИТ🤖\n"
  21. f"\n"
  22. f"Я помогу Вам запланировать мероприятие в 405 аудитории.\n\n"
  23. f"Меня еще разрабатыают по этому умею немного.\n\n"
  24. f"Вот мои функции:\n"
  25. f"Запланировать мероприятие\n"
  26. f"Мои события\n"
  27. f"Все события\n\n"
  28. f"Если есть пожелания или замечания\n"
  29. f"Можете обратиться к @FeldwebelWillman\n"
  30. f"Или воспользовтаься обратной связью /feedback",
  31. reply_markup=main_kb)
  32. await asyncio.sleep(10)
  33. await msg.delete()
  34. async def stop_cmd(message: types.Message):
  35. if message.from_user.id == 338836490:
  36. await message.answer("Остановка")
  37. else:
  38. await message.answer("Я слушаюсь только создателя")
  39. async def send_report(message: types.Message):
  40. await message.delete()
  41. await SendBugState.send_bug.set()
  42. msg = await message.answer("Опишите проблему")
  43. await asyncio.sleep(5)
  44. await msg.delete()
  45. async def get_report(message: types.Message, state: FSMContext):
  46. await state.update_data(bug=message.text)
  47. await state.update_data(from_user=message.from_user.username)
  48. data = await state.get_data()
  49. await state.finish()
  50. await new_bug(data)
  51. await message.delete()
  52. async def broadcast_cmd(message: types.Message):
  53. await message.delete()
  54. await MessageToAll.send_message.set()
  55. msg = await message.answer("Введите сооьщение которое будет отправленно всем пользователям")
  56. await asyncio.sleep(5)
  57. await msg.delete()
  58. async def get_message(message: types.Message, state: FSMContext):
  59. await state.update_data(bug=message.text)
  60. await state.update_data(from_user=message.from_user.username)
  61. data = await state.get_data()
  62. await state.finish()
  63. await message_to_all(data)
  64. await message.delete()
  65. async def delete_all_msg(message: types.Message):
  66. await asyncio.sleep(5)
  67. await message.delete()
  68. def main_register(dp: Dispatcher):
  69. dp.register_message_handler(start_cmd, commands=['start', 'help'])
  70. dp.register_message_handler(stop_cmd, commands=['stop'])
  71. dp.register_message_handler(send_report, commands=['feedback'])
  72. dp.register_message_handler(get_report, state=SendBugState.send_bug)
  73. dp.register_message_handler(broadcast_cmd, commands=['broadcast'])
  74. dp.register_message_handler(get_message, state=MessageToAll.send_message)
  75. dp.register_message_handler(delete_all_msg)