mirror of
https://github.com/miloira/wxhook.git
synced 2024-11-22 10:29:25 +08:00
version 0.0.6
This commit is contained in:
parent
f310984e9d
commit
5251487872
2
setup.py
2
setup.py
@ -18,7 +18,7 @@ URL = 'https://github.com/miloira/wxhook'
|
|||||||
EMAIL = '690126048@qq.com'
|
EMAIL = '690126048@qq.com'
|
||||||
AUTHOR = 'Msky'
|
AUTHOR = 'Msky'
|
||||||
REQUIRES_PYTHON = '>=3.8.0'
|
REQUIRES_PYTHON = '>=3.8.0'
|
||||||
VERSION = '0.0.5'
|
VERSION = '0.0.6'
|
||||||
|
|
||||||
# What packages are required for this module to be executed?
|
# What packages are required for this module to be executed?
|
||||||
REQUIRED = [
|
REQUIRED = [
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
from .core import Bot
|
from .core import Bot
|
||||||
|
|
||||||
version = "0.0.5"
|
version = "0.0.6"
|
||||||
|
@ -210,7 +210,7 @@ class Bot:
|
|||||||
}
|
}
|
||||||
return Response(**self.call_api("/api/sendApplet", json=data))
|
return Response(**self.call_api("/api/sendApplet", json=data))
|
||||||
|
|
||||||
def send_room_at(self, room_id: str, wxids: list[str], msg: str) -> Response:
|
def send_room_at(self, room_id: str, wxids: typing.List[str], msg: str) -> Response:
|
||||||
"""发送群@消息"""
|
"""发送群@消息"""
|
||||||
data = {
|
data = {
|
||||||
"chatRoomId": room_id,
|
"chatRoomId": room_id,
|
||||||
@ -227,7 +227,7 @@ class Bot:
|
|||||||
}
|
}
|
||||||
return Response(**self.call_api("/api/sendPatMsg", json=data))
|
return Response(**self.call_api("/api/sendPatMsg", json=data))
|
||||||
|
|
||||||
def get_contacts(self) -> list[Contact]:
|
def get_contacts(self) -> typing.List[Contact]:
|
||||||
"""获取联系人列表"""
|
"""获取联系人列表"""
|
||||||
return [Contact(**item) for item in self.call_api("/api/getContactList")["data"]]
|
return [Contact(**item) for item in self.call_api("/api/getContactList")["data"]]
|
||||||
|
|
||||||
@ -238,7 +238,7 @@ class Bot:
|
|||||||
}
|
}
|
||||||
return ContactDetail(**self.call_api("/api/getContactProfile", json=data)["data"])
|
return ContactDetail(**self.call_api("/api/getContactProfile", json=data)["data"])
|
||||||
|
|
||||||
def create_room(self, member_ids: list[str]) -> Response:
|
def create_room(self, member_ids: typing.List[str]) -> Response:
|
||||||
"""创建群聊"""
|
"""创建群聊"""
|
||||||
data = {
|
data = {
|
||||||
"memberIds": ",".join(member_ids)
|
"memberIds": ",".join(member_ids)
|
||||||
@ -266,7 +266,7 @@ class Bot:
|
|||||||
}
|
}
|
||||||
return RoomMembers(**self.call_api("/api/getMemberFromChatRoom", json=data)["data"])
|
return RoomMembers(**self.call_api("/api/getMemberFromChatRoom", json=data)["data"])
|
||||||
|
|
||||||
def add_room_member(self, room_id: str, member_ids: list[str]) -> Response:
|
def add_room_member(self, room_id: str, member_ids: typing.List[str]) -> Response:
|
||||||
"""添加群成员"""
|
"""添加群成员"""
|
||||||
data = {
|
data = {
|
||||||
"chatRoomId": room_id,
|
"chatRoomId": room_id,
|
||||||
@ -274,7 +274,7 @@ class Bot:
|
|||||||
}
|
}
|
||||||
return Response(**self.call_api("/api/addMemberToChatRoom", json=data))
|
return Response(**self.call_api("/api/addMemberToChatRoom", json=data))
|
||||||
|
|
||||||
def delete_room_member(self, room_id: str, member_ids: list[str]) -> Response:
|
def delete_room_member(self, room_id: str, member_ids: typing.List[str]) -> Response:
|
||||||
"""删除群成员"""
|
"""删除群成员"""
|
||||||
data = {
|
data = {
|
||||||
"chatRoomId": room_id,
|
"chatRoomId": room_id,
|
||||||
@ -282,7 +282,7 @@ class Bot:
|
|||||||
}
|
}
|
||||||
return Response(**self.call_api("/api/delMemberFromChatRoom", json=data))
|
return Response(**self.call_api("/api/delMemberFromChatRoom", json=data))
|
||||||
|
|
||||||
def invite_room_member(self, room_id: str, member_ids: list[str]) -> Response:
|
def invite_room_member(self, room_id: str, member_ids: typing.List[str]) -> Response:
|
||||||
"""邀请群成员"""
|
"""邀请群成员"""
|
||||||
data = {
|
data = {
|
||||||
"chatRoomId": room_id,
|
"chatRoomId": room_id,
|
||||||
@ -408,7 +408,7 @@ class Bot:
|
|||||||
}
|
}
|
||||||
return Response(**self.call_api("/api/ocr", json=data))
|
return Response(**self.call_api("/api/ocr", json=data))
|
||||||
|
|
||||||
def get_db_info(self) -> list[DB]:
|
def get_db_info(self) -> typing.List[DB]:
|
||||||
"""获取数据库句柄"""
|
"""获取数据库句柄"""
|
||||||
return [DB(databaseName=item["databaseName"], handle=item["handle"],
|
return [DB(databaseName=item["databaseName"], handle=item["handle"],
|
||||||
tables=[Table(**sub_item) for sub_item in item["tables"]]) for item in self.call_api("/api/getDBInfo")]
|
tables=[Table(**sub_item) for sub_item in item["tables"]]) for item in self.call_api("/api/getDBInfo")]
|
||||||
@ -443,7 +443,7 @@ class Bot:
|
|||||||
logger.error(traceback.format_exc())
|
logger.error(traceback.format_exc())
|
||||||
logger.error(raw_data)
|
logger.error(raw_data)
|
||||||
|
|
||||||
def handle(self, events: typing.Union[list[str], str, None] = None, once: bool = False) -> typing.Callable[[typing.Callable], None]:
|
def handle(self, events: typing.Union[typing.List[str], str, None] = None, once: bool = False) -> typing.Callable[[typing.Callable], None]:
|
||||||
def wrapper(func):
|
def wrapper(func):
|
||||||
listen = self.event_emitter.on if not once else self.event_emitter.once
|
listen = self.event_emitter.on if not once else self.event_emitter.once
|
||||||
if not events:
|
if not events:
|
||||||
|
@ -25,7 +25,7 @@ def fake_wechat_version(pid: int, old_version: str, new_version: str) -> int:
|
|||||||
return int(result.stdout)
|
return int(result.stdout)
|
||||||
|
|
||||||
|
|
||||||
def get_processes(process_name: str) -> list[psutil.Process]:
|
def get_processes(process_name: str) -> typing.List[psutil.Process]:
|
||||||
processes = []
|
processes = []
|
||||||
for process in psutil.process_iter():
|
for process in psutil.process_iter():
|
||||||
if process.name().lower() == process_name.lower():
|
if process.name().lower() == process_name.lower():
|
||||||
@ -80,7 +80,7 @@ class WeChatManager:
|
|||||||
with open(self.filename, "w", encoding="utf-8") as file:
|
with open(self.filename, "w", encoding="utf-8") as file:
|
||||||
json.dump(data, file)
|
json.dump(data, file)
|
||||||
|
|
||||||
def refresh(self, pid_list: list[int]) -> None:
|
def refresh(self, pid_list: typing.List[int]) -> None:
|
||||||
data = self.read()
|
data = self.read()
|
||||||
cleaned_data = []
|
cleaned_data = []
|
||||||
remote_port_list = [19000]
|
remote_port_list = [19000]
|
||||||
|
Loading…
Reference in New Issue
Block a user