start.py 3.6 KB

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