PagerMaid-Pyro/pagermaid/web/api/ignore_groups.py

46 lines
1.4 KiB
Python
Raw Normal View History

2023-01-31 16:24:56 +00:00
from fastapi import APIRouter
from starlette.responses import JSONResponse
from pagermaid.common.ignore import ignore_groups_manager, get_group_list
from pagermaid.web.api import authentication
route = APIRouter()
@route.get("/get_ignore_group_list", response_class=JSONResponse, dependencies=[authentication()])
async def get_ignore_group_list():
try:
groups = []
for data in await get_group_list():
data["status"] = ignore_groups_manager.check_id(data["id"])
groups.append(data)
return {
'status': 0,
'msg': 'ok',
'data': {
'groups': groups
}
}
except BaseException:
return {
'status': -100,
'msg': '获取群组列表失败'
}
@route.post('/set_ignore_group_status', response_class=JSONResponse, dependencies=[authentication()])
async def set_ignore_group_status(data: dict):
cid: int = data.get('id')
status: bool = data.get('status')
if status:
ignore_groups_manager.add_id(cid)
else:
ignore_groups_manager.del_id(cid)
return {'status': 0, 'msg': f'成功{"忽略" if status else "取消忽略"} {cid}'}
@route.post('/clear_ignore_group', response_class=JSONResponse, dependencies=[authentication()])
async def clear_ignore_group():
ignore_groups_manager.clear_subs()
return {'status': 0, 'msg': '成功清空忽略列表'}