Impl get chatroom members and alias
This commit is contained in:
parent
6a87ea4361
commit
e88a9ee1f0
@ -8,7 +8,7 @@ from threading import Thread
|
|||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
import requests
|
import requests
|
||||||
from fastapi import Body, Query, FastAPI
|
from fastapi import Body, FastAPI, Query
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
from wcferry import Wcf, WxMsg
|
from wcferry import Wcf, WxMsg
|
||||||
|
|
||||||
@ -51,6 +51,8 @@ class Http(FastAPI):
|
|||||||
self.add_api_route("/dbs", self.get_dbs, methods=["GET"], summary="获取所有数据库")
|
self.add_api_route("/dbs", self.get_dbs, methods=["GET"], summary="获取所有数据库")
|
||||||
self.add_api_route("/{db}/tables", self.get_tables, methods=["GET"], summary="获取 db 中所有表")
|
self.add_api_route("/{db}/tables", self.get_tables, methods=["GET"], summary="获取 db 中所有表")
|
||||||
self.add_api_route("/pyq/", self.refresh_pyq, methods=["GET"], summary="刷新朋友圈(数据从消息回调中查看)")
|
self.add_api_route("/pyq/", self.refresh_pyq, methods=["GET"], summary="刷新朋友圈(数据从消息回调中查看)")
|
||||||
|
self.add_api_route("/chatroom-member/", self.get_chatroom_members, methods=["GET"], summary="获取群成员")
|
||||||
|
self.add_api_route("/alias-in-chatroom/", self.get_alias_in_chatroom, methods=["GET"], summary="获取群成员名片")
|
||||||
|
|
||||||
self.add_api_route("/text", self.send_text, methods=["POST"], summary="发送文本消息")
|
self.add_api_route("/text", self.send_text, methods=["POST"], summary="发送文本消息")
|
||||||
self.add_api_route("/image", self.send_image, methods=["POST"], summary="发送图片消息")
|
self.add_api_route("/image", self.send_image, methods=["POST"], summary="发送图片消息")
|
||||||
@ -65,7 +67,7 @@ class Http(FastAPI):
|
|||||||
|
|
||||||
self.add_api_route("/chatroom-member", self.del_chatroom_members, methods=["DELETE"], summary="删除群成员")
|
self.add_api_route("/chatroom-member", self.del_chatroom_members, methods=["DELETE"], summary="删除群成员")
|
||||||
|
|
||||||
def _forward_msg(self, msg, cb):
|
def _forward_msg(self, msg: WxMsg, cb: str):
|
||||||
data = {}
|
data = {}
|
||||||
data["id"] = msg.id
|
data["id"] = msg.id
|
||||||
data["ts"] = msg.ts
|
data["ts"] = msg.ts
|
||||||
@ -88,7 +90,7 @@ class Http(FastAPI):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.LOG.error(f"消息转发异常: {e}")
|
self.LOG.error(f"消息转发异常: {e}")
|
||||||
|
|
||||||
def _set_cb(self, cb):
|
def _set_cb(self, cb: str):
|
||||||
def callback(wcf: Wcf):
|
def callback(wcf: Wcf):
|
||||||
while wcf.is_receiving_msg():
|
while wcf.is_receiving_msg():
|
||||||
try:
|
try:
|
||||||
@ -370,3 +372,29 @@ class Http(FastAPI):
|
|||||||
"""
|
"""
|
||||||
ret = self.wcf.decrypt_image(src, dst)
|
ret = self.wcf.decrypt_image(src, dst)
|
||||||
return {"status": ret, "message": "成功"if ret else "失败"}
|
return {"status": ret, "message": "成功"if ret else "失败"}
|
||||||
|
|
||||||
|
def get_chatroom_members(self, roomid: str = Query("xxxxxxxx@chatroom", description="群的 id")) -> dict:
|
||||||
|
"""获取群成员
|
||||||
|
|
||||||
|
Args:
|
||||||
|
roomid (str): 群的 id
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
List[dict]: 群成员列表
|
||||||
|
"""
|
||||||
|
ret = self.wcf.get_chatroom_members(roomid)
|
||||||
|
return {"status": 0, "message": "成功", "data": {"members": ret}}
|
||||||
|
|
||||||
|
def get_alias_in_chatroom(self, wxid: str = Query("wxid_xxxxxxxxxxxxx", description="wxid"),
|
||||||
|
roomid: str = Query("xxxxxxxx@chatroom", description="群的 id")) -> dict:
|
||||||
|
"""获取群成员名片
|
||||||
|
|
||||||
|
Args:
|
||||||
|
roomid (str): 群的 id
|
||||||
|
wxid (str): wxid
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
str: 名片
|
||||||
|
"""
|
||||||
|
ret = self.wcf.get_alias_in_chatroom(wxid, roomid)
|
||||||
|
return {"status": 0, "message": "成功", "data": {"alias": ret}}
|
||||||
|
Loading…
Reference in New Issue
Block a user