Skip to content

Commit

Permalink
Merge pull request #41 from raininboat/patch-dodo-image
Browse files Browse the repository at this point in the history
实现 dodo 平台下 onebot v11 规定的三种图片CQ码
  • Loading branch information
lunzhiPenxil authored Nov 25, 2022
2 parents 8e642d1 + 5e3be71 commit 962f239
Showing 1 changed file with 23 additions and 8 deletions.
31 changes: 23 additions & 8 deletions OlivOS/dodoLinkSDK.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import rsa
import base64
import uuid
from urllib import parse

import OlivOS

Expand Down Expand Up @@ -529,17 +530,31 @@ def get_login_info(target_event):
return res_data

#现场上传的就地实现
def setImageUploadFast(target_event, url):
def setImageUploadFast(target_event, url: str):
res = None
try:
send_url = url
headers = {
'User-Agent': OlivOS.infoAPI.OlivOS_Header_UA
}
msg_res = None
msg_res = req.request("GET", send_url, headers = headers)
pic_file = None
if url.startswith("base64://"):
data = url[9:]
pic_file = base64.decodebytes(data.encode("utf-8"))
else:
url_parsed = parse.urlparse(url)
if url_parsed.scheme in ["http", "https"]:
send_url = url
headers = {
'User-Agent': OlivOS.infoAPI.OlivOS_Header_UA
}
msg_res = None
msg_res = req.request("GET", send_url, headers = headers)
pic_file = msg_res.content

elif url_parsed.scheme == "file":
file_path = url_parsed.path
with open(file_path, "rb") as f:
pic_file = f.read()

msg_upload_api = API.setResourcePictureUpload(get_SDK_bot_info_from_Event(target_event))
msg_upload_api.data.file = msg_res.content
msg_upload_api.data.file = pic_file
msg_upload_api.do_api()
if msg_upload_api.res != None:
msg_upload_api_obj = json.loads(msg_upload_api.res)
Expand Down

0 comments on commit 962f239

Please sign in to comment.