async def add_to_schedule(message: types.Message, state: FSMContext):
    data = await state.get_data()
    if data.get('name') is None:
        await message.answer('Вы не добавили название, введите его:')
        await state.set_state('States:add_name')
        return
    elif data.get('text') is None:
        await message.answer('Вы не добавили текст, введите его:')
        await state.set_state('States:add_text')
        return
    elif data.get('hyperlinks') is None:
        await message.answer('Вы не добавили гиперссылки, введите их:')
        await state.set_state('States:add_hyperlinks')
        return
    elif data.get('link') is None:
        await message.answer('Загружаю фото..')
        if data.get('tgh_text') is not None:
            link = tgh.create_site(name=data['name'], text=data['tgh_text'])
        else:
            link = tgh.create_site(name=data['name'])
        if link == -1:
            await message.answer('Вы не добавили фото для Telegraph')
            await message.answer('Добавте их прямо сейчас и нажмите принять:',
                                 reply_markup=kb.next_state)
            await state.set_state('States:add_photo')
            return
        await state.update_data(link=link)

    await message.answer(text='Введите время в формате:\n ' +
                         datetime.now().strftime("%d.%m.%y %H:%M"))
    await state.set_state('States:add_schedule')
async def save_changes_to_db(mes: Message, state: FSMContext):
    data = await state.get_data()
    product_name = '<b>' + data['name'] + "</b>\n"
    direct = str(mes.from_user.id)
    if not os.path.exists(str(mes.from_user.id)):
        os.mkdir(str(mes.from_user.id))
    if len(os.listdir(direct + '/')) > 0:
        await mes.answer('Загружаю фото...')
        link = create_site(name=data['name'], id_u=direct)
    else:
        link = data['link']
    await mes.answer('Загружаю в базу данных..')
    post = f"\n{data['text']}\n<a href=\"{link}\">Фото товара</a>"
    if data.get('sale_end') is None:
        result = await update_in_db(type_product=data['type'], sex=data['sex'], category=data['product'],
                                    post=post, price=data['price'], product_name=product_name, number=data['number'])
    else:
        result = await update_in_db(type_product=data['type'], sex=data['sex'], category=data['product'],
                                    post=post, price=data['price'], product_name=product_name,
                                    number=data['number'], sale=data['sale'],
                                    sale_start=data['sale_start'], sale_end=data['sale_end'])
    await state.update_data(name=None, type=None, sex=None,
                            price=None, product=None, link=None,
                            text=None, sale=None)
    await state.reset_state(with_data=False)
    if result == 'UPDATE 1':
        await mes.answer('Добавлено!', reply_markup=start)
    else:
        await mes.answer('Ошибка :( Попробуйте, снова', reply_markup=start)
    await delete_media(str(mes.from_user.id))
Exemple #3
0
async def show_message(message: types.Message, state: FSMContext):
    data = await state.get_data()
    if data.get('name') is None:
        await message.answer('Вы не добавили название, введите его:')
        await state.set_state('States:add_name')
        return
    elif data.get('text') is None:
        await message.answer('Вы не добавили текст, введите его:')
        await state.set_state('States:add_text')
        return
    elif data.get('hyperlinks') is None:
        await message.answer('Вы не добавили гиперссылки, введите их:')
        await state.set_state('States:add_hyperlinks')
        return
    elif data.get('link') is None:
        await message.answer('Загружаю фото..')
        if data.get('tgh_text') is not None:
            link = tgh.create_site(name=data['name'], text=data['tgh_text'])
        else:
            link = tgh.create_site(name=data['name'])
        if link == -1:
            await message.answer('Вы не добавили фото для Telegraph')
            await message.answer('Добавте их прямо сейчас и нажмите принять:',
                                 reply_markup=kb.next_state)
            await state.set_state('States:add_photo')
            return
        await state.update_data(link=link)
    else:
        link = data['link']

    await message.answer('Отправляю..', reply_markup=kb.start)
    print('отправляем сообщение в канал:')
    text = '<b>' + data['name'] + '</b>' + '\n' \
           + hide_link(link) + data['hyperlinks'] + '\n' \
           + '\n' + data['text']

    await state.update_data(link=link)
    await bot.send_message(
        chat_id=ch_id,
        text=text,
        parse_mode='HTML',
        reply_markup=kb.favourite,
    )
    await state.reset_data()
Exemple #4
0
async def show_message(message: types.Message, state: FSMContext):
    data = await state.get_data()
    print(data.get('name'))
    if data.get('name') is None:
        await message.answer('Вы не добавили название, введите его:')
        await state.set_state('States:add_name')
        return

    elif data.get('text') is None:
        await message.answer('Вы не добавили текст, введите его:')
        await state.set_state('States:add_text')
        return

    elif data.get('hyperlinks') is None:
        await message.answer('Вы не добавили гиперссылки, введите их:')
        await state.set_state('States:add_hyperlinks')
        return

    elif data.get('link') is None:
        await message.answer('Загружаю фото..')
        if data.get('tgh_text') is not None:
            link = tgh.create_site(name=data['name'], text=data['tgh_text'])
        else:
            link = tgh.create_site(name=data['name'])
        if link == -1:
            await message.answer('Вы не добавили фото для Telegraph')
            await message.answer('Добавте их прямо сейчас и нажмите принять:',
                                 reply_markup=kb.next_state)
            await state.set_state('States:add_photo')
            return
        await state.update_data(link=link)
    else:
        link = data['link']

    text = '<b>' + data['name'] + '</b>' + '\n' \
           + hide_link(link) + data['hyperlinks'] + '\n' \
           + '\n' + data['text']

    await message.answer('Предпросмотр поста:')
    await message.answer(
        text=text,
        parse_mode='HTML',
        reply_markup=kb.done,
    )
async def pre_show(mes: Message, state: FSMContext):
    data = await state.get_data()
    name_product = '<b>' + data['name'] + "</b>\n"
    direct = str(mes.from_user.id)
    if len(os.listdir(direct + '/')) > 0:
        await mes.answer('Загружаю фото...')
        link = create_site(name=data['name'], id_u=direct)
    else:
        link = data['link']
    post = f"\n{data['text']}\n<a href=\"{link}\">Фото товара</a>"
    await mes.answer(name_product + data['price'] + post, parse_mode='HTML')
Exemple #6
0
async def pre_show(message: Message, state: FSMContext):
    data = await state.get_data()
    if data.get('name') is None:
        await message.answer('Вы не добавили название, введите его:')
        await state.set_state('States:add_name')
        return

    elif data.get('text') is None:
        await message.answer('Вы не добавили описание, введите его:')
        await state.set_state('States:add_text')
        return

    elif data.get('price') is None:
        await message.answer('Вы не добавили цену, введите её:')
        await state.set_state('States:add_price')
        return

    elif data.get('link') is None:
        await message.answer('Загружаю фото..')
        link = create_site(name=data['name'], id_u=str(message.from_user.id))
        if link == -1:
            await message.answer('Вы не добавили фото')
            await message.answer('Добавте их прямо сейчас и нажмите принять:',
                                 reply_markup=photo)
            await state.set_state('States:add_photo')
            return
        await state.update_data(link=link)
    else:
        link = data['link']
    if data.get('sale') is None:
        product_price = data['price']
    else:
        product_price = data['sale'] + '  <s>' + data['price'] + '</s>'
    text = '<b>' + data['name'] + '</b>' + '\n' \
           + hide_link(link) + product_price + '\n' \
           + '\n' + data['text'] + '\n'
    if message.text == 'Предпросмотр':
        await message.answer('Предпросмотр товара:')
        await message.answer(text=text,
                             parse_mode='HTML',
                             reply_markup=add_product)
    else:
        await message.answer(
            'Выберите категорию в которую необходимо добавить товар',
            reply_markup=type_object)
        await state.set_state('States:set_category')