update this CallServerAPIs file
This commit is contained in:
@@ -1,24 +1,27 @@
|
||||
import requests
|
||||
from requests.exceptions import RequestException
|
||||
import json
|
||||
import platform
|
||||
|
||||
DOMAIN = "https://solian.app/api"
|
||||
UA = f"SolianForPythonApp/0.000.001({platform.system()})"
|
||||
|
||||
def _make_request(method: str, url: str, headers: dict, params: dict = None, data: dict = None) -> dict:
|
||||
def _make_request(method: str, url: str, headers: dict, params: dict = None, NormalCode: int = [204],RequestsBody: dict | int = None) -> dict:
|
||||
"""内部辅助函数,用于发送HTTP请求并处理响应"""
|
||||
headers['User-Agent'] = UA
|
||||
try:
|
||||
if method == 'GET':
|
||||
response = requests.get(url, headers=headers, params=params)
|
||||
elif method == 'POST':
|
||||
response = requests.post(url, headers=headers, data=data)
|
||||
response = requests.post(url, headers=headers, data=json.dumps(RequestsBody))
|
||||
elif method == 'DELETE':
|
||||
response = requests.delete(url, headers=headers, params=params)
|
||||
elif method == 'PATCH':
|
||||
response = requests.patch(url, headers=headers, data=data)
|
||||
response = requests.patch(url, headers=headers, data=json.dumps(RequestsBody))
|
||||
else:
|
||||
return {"error": "Unsupported HTTP method"}
|
||||
|
||||
if response.status_code != 200:
|
||||
if response.status_code != 200 and response.status_code not in NormalCode:
|
||||
return {"error": response.status_code}
|
||||
|
||||
return response.json()
|
||||
@@ -35,6 +38,8 @@ def ActivityAPIs(cursor: str = '', filter: str = '', take: int = 20, debuginclud
|
||||
params = {"cursor": cursor, "filter": filter, "take": take, "debuginclude": debuginclude}
|
||||
return _make_request('GET', url, headers, params)
|
||||
|
||||
###=========================聊天API=================================
|
||||
|
||||
def ChatSummary(Authorization: str) -> dict:
|
||||
"""获取聊天摘要"""
|
||||
url = f"{DOMAIN}/chat/summary"
|
||||
@@ -48,11 +53,19 @@ def GetChatMessageAllInfo(Authorization: str, roomid: str, offset: int = 0, take
|
||||
params = {"offset": offset, "take": take}
|
||||
return _make_request('GET', url, headers, params)
|
||||
|
||||
def GetChatMessageBaseInfo(Authorization: str, roomid: str) -> dict:
|
||||
"""获取聊天消息基础信息"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/message/base"
|
||||
def SendChatMessage(Authorization: str, roomid: str,content: str,nonce: str,attachments_id: list,meta: dict,replied_message_id: str,forwarded_message_id: str) -> dict:
|
||||
"""发送聊天消息"""
|
||||
RequestsBody={
|
||||
"content": content,
|
||||
"nonce": nonce,
|
||||
"attachments_id": attachments_id,
|
||||
"meta": meta,
|
||||
"replied_message_id": replied_message_id,
|
||||
"forwarded_message_id": forwarded_message_id
|
||||
}
|
||||
url = f"{DOMAIN}/chat/{roomid}/message"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers)
|
||||
return _make_request('POST', url, headers,RequestsBody=RequestsBody,NormalCode=[201])
|
||||
|
||||
def GetAMessageAllInfo(Authorization: str, roomid: str, messageid: str) -> dict:
|
||||
"""获取具体聊天消息所有信息"""
|
||||
@@ -60,44 +73,162 @@ def GetAMessageAllInfo(Authorization: str, roomid: str, messageid: str) -> dict:
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('GET', url, headers)
|
||||
|
||||
def GetAMessageInfo(Authorization: str, roomid: str, messageid: str) -> dict:
|
||||
"""获取聊天消息基础信息。暂时作为保留"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/message/{messageid}/info"
|
||||
def ModifyChatMessage(Authorization: str, roomid: str, messageid: str,content: str,nonce: str,attachments_id: list,meta: dict,replied_message_id: str,forwarded_message_id: str) -> dict:
|
||||
"""修改聊天消息"""
|
||||
RequestsBody={
|
||||
"content": content,
|
||||
"nonce": nonce,
|
||||
"attachments_id": attachments_id,
|
||||
"meta": meta,
|
||||
"replied_message_id": replied_message_id,
|
||||
"forwarded_message_id": forwarded_message_id
|
||||
}
|
||||
url = f"{DOMAIN}/chat/{roomid}/message/{messageid}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers)
|
||||
return _make_request('PATCH', url, headers,RequestsBody=RequestsBody)
|
||||
|
||||
def DelMessage(Authorization: str, roomid: str, messageid: str) -> dict:
|
||||
def DeleteAMessageInfo(Authorization: str, roomid: str, messageid: str) -> dict:
|
||||
"""删除聊天消息基础信息。暂时作为保留"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/message/{messageid}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('DELETE', url, headers)
|
||||
|
||||
def DeleteChatMessage(Authorization: str, roomid: str, messageid: str) -> dict:
|
||||
"""删除聊天消息"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/message/{messageid}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('DELETE', url, headers)
|
||||
|
||||
def SyncChatMessage(Authorization: str, roomid: str, last_sync_timestamp: int) -> dict:
|
||||
"""同步聊天消息"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/sync"
|
||||
RequestsBody={
|
||||
"last_sync_timestamp": last_sync_timestamp
|
||||
}
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers,RequestsBody=RequestsBody)
|
||||
|
||||
###=========================聊天室API=================================
|
||||
|
||||
def GetChatRoomInfo(Authorization: str, id: str) -> dict:
|
||||
"""获取聊天房间信息"""
|
||||
url = f"{DOMAIN}/chat/{id}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('GET', url, headers)
|
||||
|
||||
def ModifyChatRoomInfo(Authorization: str, id: str, data: dict) -> dict:
|
||||
def ModifyChatRoomInfo(Authorization: str, id: str, name: str, description: str, picture_id: str, backgournd_id: str, realm_id: str, is_community: bool, is_public: bool) -> dict:
|
||||
"""修改聊天房间信息"""
|
||||
RequestsBody={
|
||||
"name": name,
|
||||
"description": description,
|
||||
"picture_id": picture_id,
|
||||
"background_id": backgournd_id,
|
||||
"realm_id": realm_id,
|
||||
"is_community": is_community,
|
||||
"is_public": is_public,
|
||||
}
|
||||
url = f"{DOMAIN}/chat/{id}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('PATCH', url, headers, data=data)
|
||||
return _make_request('PATCH', url, headers,RequestsBody=RequestsBody)
|
||||
|
||||
def DeleteChatRoom(Authorization: str, id: str) -> dict:
|
||||
"""删除聊天房间"""
|
||||
url = f"{DOMAIN}/chat/{id}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('DELETE', url, headers)
|
||||
return _make_request('DELETE', url, headers,NormalCode=[204])
|
||||
|
||||
def CreateChatWithRealm(Authorization: str) -> dict:
|
||||
"""创建聊天房间"""
|
||||
def GetChatList(Authorization: str) -> dict:
|
||||
"""获取聊天列表"""
|
||||
url = f"{DOMAIN}/chat"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers)
|
||||
return _make_request('GET', url, headers)
|
||||
|
||||
def CreateChatWithRealm(Authorization: str, name: str, description: str, picture_id: str, backgournd_id: str, realm_id: str, is_community: bool, is_public: bool) -> dict:
|
||||
"""创建聊天房间"""
|
||||
RequestsBody={
|
||||
"name": name,
|
||||
"description": description,
|
||||
"picture_id": picture_id,
|
||||
"background_id": backgournd_id,
|
||||
"realm_id": realm_id,
|
||||
"is_community": is_community,
|
||||
"is_public": is_public,
|
||||
}
|
||||
url = f"{DOMAIN}/chat"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers,RequestsBody=RequestsBody,NormalCode=[201])
|
||||
|
||||
def GetChatToAccount(Authorization: str,accountid: str) -> dict:
|
||||
"""获取聊天对象用户信息"""
|
||||
url = f"{DOMAIN}/chat/direct/{accountid}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('GET', url, headers)
|
||||
|
||||
def GetChatRoomSelfInfo(Authorization: str,roomid:str) -> dict:
|
||||
"""获取聊天房间自己信息"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/members/me"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('GET', url, headers)
|
||||
|
||||
def JoinChatRoom(Authorization: str,roomid:str) -> dict:
|
||||
"""加入聊天房间"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/members/me"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers,NormalCode=[201])
|
||||
|
||||
def LeaveChatRoom(Authorization: str,roomid:str) -> dict:
|
||||
"""退出聊天房间"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/members/me"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('DELETE', url, headers,NormalCode=[204])
|
||||
|
||||
def GetChatRoomMembers(Authorization: str,roomid:str) -> dict:
|
||||
"""获取聊天房间成员"""
|
||||
url = f"{DOMAIN}/chat/{roomid}/members"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('GET', url, headers)
|
||||
|
||||
def SendChatInvites(Authorization: str,accountid: str,role: str) -> dict:
|
||||
"""发送聊天邀请"""
|
||||
RequestsBody={
|
||||
"related_user_id": accountid,
|
||||
"role": role
|
||||
}
|
||||
url = f"{DOMAIN}/chat/invites"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers,RequestsBody=RequestsBody,NormalCode=[201])
|
||||
|
||||
def GetChatInvites(Authorization: str) -> dict:
|
||||
"""获取聊天邀请"""
|
||||
url = f"{DOMAIN}/chat/invites"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('GET', url, headers)
|
||||
|
||||
def AcceptChatInvite(Authorization: str,roomid:str) -> dict:
|
||||
"""接受聊天邀请"""
|
||||
url = f"{DOMAIN}/chat/invites/{roomid}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('POST', url, headers)
|
||||
|
||||
def DeclineChatInvite(Authorization: str,roomid:str) -> dict:
|
||||
"""拒绝聊天邀请"""
|
||||
url = f"{DOMAIN}/chat/invites/{roomid}"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('DELETE', url, headers)
|
||||
|
||||
def SetChatNotify(Authorization: str,roomid:str,notify_level: str,break_until: str) -> dict:
|
||||
"""设置聊天通知级别"""
|
||||
RequestsBody={
|
||||
"notify_level": notify_level,
|
||||
"break_until": break_until
|
||||
}
|
||||
url = f"{DOMAIN}/chat/{roomid}/members/me/notify"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('PATCH', url, headers,RequestsBody=RequestsBody,NormalCode=[201])
|
||||
|
||||
def SetChatMemberRole(Authorization: str,roomid:str,membersid: str,role: int) -> dict:
|
||||
"""设置聊天成员角色"""
|
||||
url=f"{DOMAIN}/chat/{roomid}/members/{membersid}/role"
|
||||
headers = {'accept': 'application/json', 'Authorization': Authorization}
|
||||
return _make_request('PATCH', url, headers,RequestsBody=role,NormalCode=[201])
|
||||
|
||||
|
Reference in New Issue
Block a user