async def add_prod(mes: Message, state: FSMContext): if admin_ids.count(mes.from_user.id) == 0: return await mes.answer('Выберите:', reply_markup=add_product) await state.reset_data() await state.set_state('States:menu') await delete_media(str(mes.from_user.id))
async def show_catalog(mes: Message, state: FSMContext): if admin_ids.count(mes.from_user.id) == 0: return await mes.answer( 'Любые вопросы Вы можете задать менеджеру написав "Чат" или же по кнопке внизу.', reply_markup=chat_but) await mes.answer('Что вы ищете?', reply_markup=type_object) await state.reset_state()
async def del_chat(mes: Message): del_id = mes.left_chat_member.id while admin_ids.count(del_id) != 0: admin_ids.remove(del_id) state = dp.current_state(chat=del_id, user=del_id) await mes.answer('Пользователь больше не является менеджером') await delete_media(str(del_id)) await state.reset_state(with_data=True)
async def delete(mes: Message, state: FSMContext): if admin_ids.count(mes.from_user.id) == 0: return await mes.answer( 'Выберите товар который необходимо удалить, а после нажмите "Удалить":', reply_markup=type_object) await state.reset_data() await delete_media(str(mes.from_user.id)) await state.set_state('States:delete_product')
async def admin_add(mes: Message): for x in mes.new_chat_members: await bot.promote_chat_member(chat_id=mes.chat.id, user_id=x.id, can_pin_messages=True) if admin_ids.count(x.id) == 0: admin_ids.append(x.id) if os.path.exists(str(x.id)) is False: os.mkdir(str(x.id))
async def choose_edit_product(mes: Message, state: FSMContext): if admin_ids.count(mes.from_user.id) == 0: return await mes.answer('Выберите товар который необходимо отредактировать, а после нажмите "Редактировать"') await mes.answer('Что вы ищете?', reply_markup=type_object) await state.reset_data() await delete_media(str(mes.from_user.id)) await state.set_state('States:edit_product')
async def sale_to_cat(call: CallbackQuery, state: FSMContext): if admin_ids.count(call.from_user.id) == 0: return await call.answer() await call.message.answer('Нажмите "Отменить", чтобы выйти', reply_markup=cancel) await call.message.edit_text('Выберите категорию и нажмите "Принять"', reply_markup=type_object) await state.reset_state(with_data=True) await state.set_state('States:sales2cat_add') if call.data == 'add_sale' \ else await state.set_state('States:sales2cat_end')
async def button_reaction(call: CallbackQuery): if admin_ids.count(call.from_user.id) == 0: return user_id = call.data.rpartition('user')[2] await call.answer() count = call.message.text.partition('Приняли заявку: ')[2] num = 1 if count == '' else int(count) + 1 await call.message.edit_text( text=call.message.text.partition('\nСсылка на пользователя')[0] + '\n<a href="tg://user?id={0}">' 'Ссылка на пользователя {0}</a>\n' '\nПриняли заявку: {1}'.format(user_id, num), reply_markup=create_but(user_id), parse_mode='HTML')
async def photo_num(mes: Message): if admin_ids.count(mes.from_user.id) == 0: return number = str(mes.caption) if number.isdigit() is True: direct = str(mes.from_user.id) file_id = str(mes.photo[len(mes.photo) - 1].file_unique_id) exist_photo = glob(direct + '/*' + file_id + '.jpg') if len(exist_photo) != 0: new_name = direct + '/' + number + '@' + file_id + '.jpg' exist_number = glob(new_name) if len(exist_number) != 0: await mes.answer('Такой номер уже существует, попробуйте другой') else: os.rename(exist_photo[0], new_name) await mes.answer('Номер ' + number + ' сохранен') else: await mes.answer('Фото не найдено, попробуйте загрузить его еще раз') else: await mes.answer('Подпись должна состоять только из цифр')
async def sale_to_cat(mes: Message, state: FSMContext): if admin_ids.count(mes.from_user.id) == 0: return await mes.answer('Выберите:', reply_markup=sale2cat) await state.reset_state(with_data=True) await state.set_state('States:category_sale')
async def update_sales(mes: Message): if admin_ids.count(mes.from_user.id) == 0: return await mes.answer(await upd_sale())
async def send_welcome(mes: Message, state: FSMContext): await state.reset_state(with_data=True) if admin_ids.count(mes.from_user.id) == 0: return await mes.answer('Что вы ищете?', reply_markup=start)
async def cancel(mes: Message): if admin_ids.count(mes.from_user.id) == 0: return await mes.answer('Выберите:', reply_markup=start)