Exemplo n.º 1
0
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
Exemplo n.º 2
0
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)
Exemplo n.º 4
0
@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(