Пример #1
0
async def delete_sticker(message: types.Message, state: FSMContext):
    if not message.text.isdigit():
        await message.answer('id состоит из цифр если что))')
        return
    try:
        Sticker.get(id=message.text).delete_instance()
    except Sticker.DoesNotExist:
        await message.answer(f'стикера с id: {message.text} - не существует')
        return
    await state.finish()
    await message.answer('Стикер успешно удален',
                         reply_markup=Markup.after_cancel())
Пример #2
0
async def get_sticker(message: types.Message):
    try:
        stick = Sticker.get(stick_uniq=message.sticker.file_unique_id)
    except Sticker.DoesNotExist:
        await message.answer('К сожелению такова стикера нету')
        return
    await send_stick(message, stick)
Пример #3
0
async def create_sticker(message: types.Message, state: FSMContext):
    if Sticker.select().where(
            Sticker.stick_uniq == message.sticker.file_unique_id):
        await message.answer('Такой стикер уже существует')
        stick = Sticker.get(stick_uniq=message.sticker.file_unique_id)
        await send_stick(message, stick)
        state.finish()
        return
    await state.update_data(sticker_id=message.sticker.file_id,
                            sticker_uniq_id=message.sticker.file_unique_id)
    await message.answer('Придумайте название для стикера',
                         reply_markup=Markup.every_state())
    await SSticker.name.set()
Пример #4
0
async def name_sticker(message: types.Message, state: FSMContext):
    slen = Sticker.name.max_length
    if len(message.text) > slen:
        await message.answer(
            f'Минимальная длинна названия стикера - {slen} символов')
        return
    data = await state.get_data()
    name = message.text[0].upper() + message.text[1:]
    user = User.get(chat_id=message.chat.id)
    Sticker.create(sticker=data['sticker_id'],
                   stick_uniq=data['sticker_uniq_id'],
                   name=name,
                   author=user)
    await state.finish()
    await message.answer(f'Стикер {name} создан успешно\nid:')
    await message.answer(Sticker.get(stick_uniq=data['sticker_uniq_id']).id)
    await message.answer_sticker(data['sticker_id'],
                                 reply_markup=Markup.after_cancel())