from data import config from keyboards.default.menu import menu from keyboards.inline import buttons from keyboards.inline.callback_datas import confirmation_callback from loader import dp from states.start import StartState from utils.telegram_files import TelegramFiles @dp.message_handler(CommandStart()) async def bot_start(message: types.Message): await StartState.Confirmation.set() await message.answer_document(caption=config.message["confirmations_agreement"], document=await TelegramFiles.get_telegram_key_files("documents/Пользовательское соглашение.pdf", message.chat.id), reply_markup=await buttons.getConfirmationKeyboard()) @dp.callback_query_handler(confirmation_callback.filter(bool="Yes"), state=StartState) async def adding_comment_or_promoCode_yes(call: types.CallbackQuery, state: FSMContext): await state.finish() await call.message.delete() await call.message.answer(text=config.message["Welcome_Menu"], reply_markup=menu) await call.answer() @dp.callback_query_handler(confirmation_callback.filter(bool="No"), state=StartState) async def adding_comment_or_promoCode_yes(call: types.CallbackQuery, state: FSMContext): await call.answer() try: await call.message.edit_caption(caption=config.message["confirmations_agreement_no"], reply_markup=await buttons.getConfirmationKeyboard()) except: pass
from loader import dp from states.start import StartState from utils.telegram_files import TelegramFiles @dp.message_handler(CommandStart()) async def bot_start(message: types.Message): await StartState.Confirmation.set() await message.answer_document( caption=config.message["confirmations_agreement"], document=await TelegramFiles.get_telegram_key_files( "documents/Пользовательское соглашение.pdf", message.chat.id), reply_markup=await buttons.getConfirmationKeyboard()) @dp.callback_query_handler(confirmation_callback.filter(bool="Yes"), state=StartState) async def adding_comment_or_promoCode_yes(call: types.CallbackQuery, state: FSMContext): await state.finish() await call.message.delete() await call.message.answer(text=config.message["Welcome_Menu"], reply_markup=menu) await call.answer() @dp.callback_query_handler(confirmation_callback.filter(bool="No"), state=StartState) async def adding_comment_or_promoCode_yes(call: types.CallbackQuery, state: FSMContext): await call.answer()
else: await message.answer( config.message["document_confirmation_size"].format( text="{name} {size}мб\n".format( name=message.document.file_name, size=round(message.document.file_size / 1024 / 1024, 3))), reply_markup=await buttons.getCustomKeyboard(cancel="Отменить")) @dp.message_handler(state=UserMes.document, content_types=types.ContentType.PHOTO) async def message_add_doc(message: types.Message): await message.answer(text=config.errorMessage["not_add_photo"]) @dp.callback_query_handler(confirmation_callback.filter(bool="noElement"), state=UserMes) async def adding_promoCode_yes(call: types.CallbackQuery, state: FSMContext): data = await state.get_data() mes = "" state_active = data.get("state_active") keyboard = None if "UserMes:document" == state_active: await create_mes(call, state) return await call.message.edit_text(text=mes, reply_markup=keyboard) await call.answer() @dp.callback_query_handler(confirmation_callback.filter(bool="Yes"), state=UserMes)
@dp.message_handler(state=TaskComplete.document, content_types=types.ContentType.DOCUMENT) async def message_add_doc(message: types.Message, state: FSMContext): if TelegramFiles.document_size(message.document.file_size): await state.update_data(document=message.document) await TaskComplete.wait.set() await message.answer(config.message["document_confirmation"].format( text="{name} {size}мб\n".format(name=message.document.file_name, size=round(message.document.file_size/1024/1024, 3))), reply_markup=await buttons.getConfirmationKeyboard(cancel="Отменить")) else: await message.answer(config.message["document_confirmation_size"].format( text="{name} {size}мб\n".format(name=message.document.file_name, size=round(message.document.file_size/1024/1024, 3))), reply_markup=await buttons.getCustomKeyboard(cancel="Отменить")) @dp.callback_query_handler(confirmation_callback.filter(bool="Yes"), state=TaskComplete) async def adding_comment_or_promoCode_yes(call: types.CallbackQuery, state: FSMContext): data = await state.get_data() mes = "" keyboard = None state_active = data.get("state_active") if "TaskComplete:document" == state_active: task = tasksModel.get_task(data.get("taskID")) userDepartment = "" userDepartmentName = "" if task: userDepartment = task.departmentTag department = departmentModel.get_department(userDepartment) userDepartmentName = department.name if department else "" else: await call.message.edit_text(