start.py 4.0 KB

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