New features
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from . import panel
|
||||
from . import add_post
|
||||
from . import delete_post
|
||||
from . import user_control
|
||||
from . import admin_control
|
||||
from . import operator_control
|
@@ -18,6 +18,14 @@ async def cmd_add_post(message: types.Message):
|
||||
|
||||
@dp.message_handler(is_admin=True, state=Post.name)
|
||||
async def admin_form_name(message: types.Message, state: FSMContext):
|
||||
if len(message.text) > 50:
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
("Имя не может быть больше 50 символов!\n"
|
||||
"Повторите попытку")
|
||||
)
|
||||
await Post.name.set()
|
||||
return
|
||||
await state.update_data(name=message.text)
|
||||
await bot.send_message(message.chat.id, "Укажите описание товара", reply_markup=base_menu(skip=True))
|
||||
await Post.description.set()
|
||||
@@ -25,6 +33,15 @@ async def admin_form_name(message: types.Message, state: FSMContext):
|
||||
|
||||
@dp.message_handler(is_admin=True, state=Post.description)
|
||||
async def admin_form_desk(message: types.Message, state: FSMContext):
|
||||
if len(message.text) > 1000:
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
("Описание не может быть больше 1000 символов!\n"
|
||||
"Повторите попытку")
|
||||
)
|
||||
await Post.description.set()
|
||||
return
|
||||
|
||||
if message.text == messages.skip_message:
|
||||
await state.update_data(description="")
|
||||
else:
|
||||
@@ -35,6 +52,15 @@ async def admin_form_desk(message: types.Message, state: FSMContext):
|
||||
|
||||
@dp.message_handler(is_admin=True, state=Post.price)
|
||||
async def admin_form_price(message: types.message, state: FSMContext):
|
||||
if len(message.text) > 30:
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
("Цена не может быть больше 30 символов!\n"
|
||||
"Повторите попытку")
|
||||
)
|
||||
await Post.price.set()
|
||||
return
|
||||
|
||||
if not message.text.replace('.', '').replace(',', '').isdigit():
|
||||
await Post.price.set()
|
||||
await state.update_data(price=float(message.text.replace(",", ".")))
|
||||
|
@@ -1,25 +1,25 @@
|
||||
from aiogram import types
|
||||
from aiogram.dispatcher import FSMContext
|
||||
|
||||
from load import dp, bot, messages
|
||||
from state.state import AddUser
|
||||
from utils.database.user import Register, User
|
||||
from keyboard.default.admin.main_menu import base_menu
|
||||
from keyboard.default.main_menu import back_to_main_menu
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.add_admin, is_admin=True)
|
||||
async def add_admin(message: types.Message):
|
||||
async def add_admin(message: types.Message, state: FSMContext):
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
("Отправьте user_id пользователя\n"
|
||||
"Его можно узнать зайдя в информацию о пользователе"),
|
||||
reply_markup=base_menu()
|
||||
)
|
||||
await AddUser.user_id.set()
|
||||
await state.set_state("get_user_id_add_admin")
|
||||
|
||||
|
||||
@dp.message_handler(state=AddUser.user_id)
|
||||
async def add_admin1(message: types.Message, state):
|
||||
@dp.message_handler(state="get_user_id_add_admin")
|
||||
async def add_admin1(message: types.Message, state: FSMContext):
|
||||
await state.finish()
|
||||
user_id = message.text
|
||||
if not user_id.isdigit() or "-100" in user_id:
|
2
handlers/admin/operator_control/__init__.py
Normal file
2
handlers/admin/operator_control/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from . import adding
|
||||
from . import delete
|
35
handlers/admin/operator_control/adding.py
Normal file
35
handlers/admin/operator_control/adding.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from aiogram import types
|
||||
from aiogram.dispatcher import FSMContext
|
||||
|
||||
from load import dp, bot, messages
|
||||
from utils.database.user import Register, User
|
||||
from keyboard.default.admin.main_menu import base_menu
|
||||
from keyboard.default.main_menu import back_to_main_menu
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.add_operator, is_admin=True)
|
||||
async def add_operator(message: types.Message, state: FSMContext):
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
("Отправьте user_id пользователя\n"
|
||||
"Его можно узнать зайдя в информацию о пользователе"),
|
||||
reply_markup=base_menu()
|
||||
)
|
||||
await state.set_state("get_user_id_add_operator")
|
||||
|
||||
|
||||
@dp.message_handler(is_admin=True, state="get_user_id_add_operator")
|
||||
async def add_operator1(message: types.Message, state: FSMContext):
|
||||
await state.finish()
|
||||
user_id = message.text
|
||||
if not user_id.isdigit() or "-100" in user_id:
|
||||
await bot.send_message(message.chat.id, "Данные не правильные!", reply_markup=back_to_main_menu)
|
||||
return
|
||||
|
||||
user_id = int(user_id)
|
||||
user = User.get_user(user_id)
|
||||
if not user:
|
||||
await bot.send_message(message.chat.id, "Пользователь не существует!", reply_markup=back_to_main_menu)
|
||||
return
|
||||
Register.register_operator(user)
|
||||
await bot.send_message(message.chat.id, "Оператор добавлен!", reply_markup=back_to_main_menu)
|
18
handlers/admin/operator_control/delete.py
Normal file
18
handlers/admin/operator_control/delete.py
Normal file
@@ -0,0 +1,18 @@
|
||||
from aiogram import types
|
||||
|
||||
from load import dp, bot, messages
|
||||
from keyboard.inline.operator.user import item_list
|
||||
from utils.database.base import get_full_operator
|
||||
|
||||
|
||||
@dp.message_handler(lambda x: x.text == messages.del_operator, is_admin=True)
|
||||
async def del_admin(message: types.Message):
|
||||
users = get_full_operator()
|
||||
user = users[0]
|
||||
result = messages.admin_user.format(**user)
|
||||
await bot.send_message(
|
||||
message.chat.id,
|
||||
result,
|
||||
parse_mode="Markdown",
|
||||
reply_markup=item_list(items=len(users) - 1)
|
||||
)
|
0
handlers/admin/start.py
Normal file
0
handlers/admin/start.py
Normal file
Reference in New Issue
Block a user