mirror of
https://github.com/langbot-app/LangBot.git
synced 2025-11-25 19:37:36 +08:00
* 更新了wechatpad接口,以及适配器 * 更新了wechatpad接口,以及适配器 * 修复一些细节问题,比如at回复,以及启动登录和启动ws长连接的线程同步 * importutil中修复了在wi上启动替换斜杠问题,login中加上了一个login,暂时没啥用。wechatpad中做出了一些细节修改 * 更新了wechatpad接口,以及适配器 * 怎加了处理图片链接转换为image_base64发送 * feat(wechatpad): 调整日志+bugfix * feat(wechatpad): fix typo * 修正了发送语音api参数错误,添加了发送链接处理为base64数据(好像只有一部分链接可以) * 修复了部分手抽的typo错误 * chore: remove manager.py --------- Co-authored-by: shinelin <shinelinxx@gmail.com> Co-authored-by: Junyan Qin (Chin) <rockchinq@gmail.com>
39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
from libs.wechatpad_api.util.http_util import async_request, post_json
|
|
import httpx
|
|
import base64
|
|
|
|
class DownloadApi:
|
|
def __init__(self, base_url, token):
|
|
self.base_url = base_url
|
|
self.token = token
|
|
|
|
def send_download(self, aeskey, file_type, file_url):
|
|
json_data = {
|
|
"AesKey": aeskey,
|
|
"FileType": file_type,
|
|
"FileURL": file_url
|
|
}
|
|
url = self.base_url + "/message/SendCdnDownload"
|
|
return post_json(url, token=self.token, data=json_data)
|
|
|
|
def get_msg_voice(self,buf_id, length, new_msgid):
|
|
json_data = {
|
|
"Bufid": buf_id,
|
|
"Length": length,
|
|
"NewMsgId": new_msgid,
|
|
"ToUserName": ""
|
|
}
|
|
url = self.base_url + "/message/GetMsgVoice"
|
|
return post_json(url, token=self.token, data=json_data)
|
|
|
|
|
|
async def download_url_to_base64(self, download_url):
|
|
async with httpx.AsyncClient() as client:
|
|
response = await client.get(download_url)
|
|
|
|
if response.status_code == 200:
|
|
file_bytes = response.content
|
|
base64_str = base64.b64encode(file_bytes).decode('utf-8') # 返回字符串格式
|
|
return base64_str
|
|
else:
|
|
raise Exception('获取文件失败') |