diff --git a/main.py b/main.py index 84fe409..11242a2 100644 --- a/main.py +++ b/main.py @@ -19,7 +19,7 @@ from aiogram.dispatcher.filters import Command, Text from io import BytesIO from aiogram import Bot, Dispatcher, types from aiogram.dispatcher.filters.state import StatesGroup, State -from aiogram.types import InputFile, ReplyKeyboardMarkup, KeyboardButton +from aiogram.types import InputFile, ReplyKeyboardMarkup, KeyboardButton, InlineKeyboardButton, InlineKeyboardMarkup from aiogram import executor from docx import Document from docx.shared import Pt @@ -76,19 +76,30 @@ async def process_start_command(message: types.Message): # ------------------------------------------------------ @dp.message_handler(Text(equals='Создать заявление и договор на практику')) -async def process_create_document(message: types.Message): - markup = ReplyKeyboardMarkup(resize_keyboard=True, keyboard=[ - [KeyboardButton('Отмена')] - ]) - # Запускаем состояние - await DocFormStates.group.set() - await message.answer('❗Обращаю внимание❗\nПеред отправкой проверяйте корректность введённых данных.\n\n' - 'Для прекращения заполнения документов нажмите кнопку "Отмена" снизу. Можете ' - 'использовать это в качестве меры предотвращения опечатки. \n\nВ любом случае готовый ' - 'документ тоже можно отредактировать.', reply_markup=markup) - await message.answer("Сейчас вы заполняете заявление на закрепление места в практике!", parse_mode='HTML') - await message.answer("Введите номер вашей группы, например: БИН-23-1", parse_mode='HTML') +async def process_personal_data(message: types.Message): + await message.answer('❗Согласие на обработку персональных данных❗\n\nВы согласны на ' + 'предоставление своих персональных данных?', reply_markup=InlineKeyboardMarkup( + inline_keyboard=[ + [InlineKeyboardButton('💹Да💹', callback_data='PDyes')],[InlineKeyboardButton('❌Нет❌', callback_data='PDno')] + ])) + +@dp.callback_query_handler(lambda c: c.data.startswith('PD')) +async def process_create_document(call: types.CallbackQuery): + if call.data == 'PDyes': + markup = ReplyKeyboardMarkup(resize_keyboard=True, keyboard=[ + [KeyboardButton('Отмена')] + ]) + # Запускаем состояние + await DocFormStates.group.set() + await call.message.answer('❗Обращаю внимание❗\nПеред отправкой проверяйте корректность введённых данных.\n\n' + 'Для прекращения заполнения документов нажмите кнопку "Отмена" снизу. Можете ' + 'использовать это в качестве меры предотвращения опечатки. \n\nВ любом случае готовый ' + 'документ тоже можно отредактировать.', reply_markup=markup) + await call.message.answer("Сейчас вы заполняете заявление на закрепление места в практике!", parse_mode='HTML') + await call.message.answer("Введите номер вашей группы, например: БИН-23-1", parse_mode='HTML') + else: + await call.message.answer('Вы не согласны на обработку персональных данных, заполнение невозможно.') @dp.message_handler(lambda message: 'отмена' in message.text.lower(), state="*") async def cancel_handler(message: types.Message, state: FSMContext): current_state = await state.get_state()