Compare commits
3 Commits
289026b75c
...
354ebe9abd
Author | SHA1 | Date |
---|---|---|
qweeck | 354ebe9abd | |
qweeck | 37d8c5e356 | |
qweeck | c3e115ca93 |
39
main.py
39
main.py
|
@ -19,11 +19,12 @@ from aiogram.dispatcher.filters import Command, Text
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
from aiogram import Bot, Dispatcher, types
|
from aiogram import Bot, Dispatcher, types
|
||||||
from aiogram.dispatcher.filters.state import StatesGroup, State
|
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 aiogram import executor
|
||||||
from docx import Document
|
from docx import Document
|
||||||
from docx.shared import Pt
|
from docx.shared import Pt
|
||||||
|
|
||||||
|
|
||||||
from config import API_TOKEN
|
from config import API_TOKEN
|
||||||
|
|
||||||
storage = MemoryStorage()
|
storage = MemoryStorage()
|
||||||
|
@ -31,6 +32,7 @@ bot = Bot(token=API_TOKEN)
|
||||||
dp = Dispatcher(bot, storage=storage)
|
dp = Dispatcher(bot, storage=storage)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
# Классы для каждого документа, относительно вводимого в него текста.
|
# Классы для каждого документа, относительно вводимого в него текста.
|
||||||
# -------------------------------------------------------------------
|
# -------------------------------------------------------------------
|
||||||
|
@ -74,19 +76,30 @@ async def process_start_command(message: types.Message):
|
||||||
# ------------------------------------------------------
|
# ------------------------------------------------------
|
||||||
|
|
||||||
@dp.message_handler(Text(equals='Создать заявление и договор на практику'))
|
@dp.message_handler(Text(equals='Создать заявление и договор на практику'))
|
||||||
async def process_create_document(message: types.Message):
|
async def process_personal_data(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("<b>Сейчас вы заполняете заявление на закрепление места в практике!</b>", parse_mode='HTML')
|
|
||||||
await message.answer("Введите номер вашей группы, например: <b>БИН-23-1</b>", parse_mode='HTML')
|
|
||||||
|
|
||||||
|
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("<b>Сейчас вы заполняете заявление на закрепление места в практике!</b>", parse_mode='HTML')
|
||||||
|
await call.message.answer("Введите номер вашей группы, например: <b>БИН-23-1</b>", parse_mode='HTML')
|
||||||
|
else:
|
||||||
|
await call.message.answer('Вы не согласны на обработку персональных данных, заполнение невозможно.')
|
||||||
@dp.message_handler(lambda message: 'отмена' in message.text.lower(), state="*")
|
@dp.message_handler(lambda message: 'отмена' in message.text.lower(), state="*")
|
||||||
async def cancel_handler(message: types.Message, state: FSMContext):
|
async def cancel_handler(message: types.Message, state: FSMContext):
|
||||||
current_state = await state.get_state()
|
current_state = await state.get_state()
|
||||||
|
|
Loading…
Reference in New Issue