Compare commits
2 Commits
fa5d61dbfa
...
84f671741b
| Author | SHA1 | Date | |
|---|---|---|---|
| 84f671741b | |||
| a7f52e33fb |
@@ -37,3 +37,4 @@ COMMAND_PREFIX: str = os.environ.get("COMMAND_PREFIX", "#")
|
|||||||
COMMAND_LENGTH_MIN: int = int(os.environ.get("COMMAND_LENGTH_MIN", "2"))
|
COMMAND_LENGTH_MIN: int = int(os.environ.get("COMMAND_LENGTH_MIN", "2"))
|
||||||
COMMAND_LENGTH_MAX: int = int(os.environ.get("COMMAND_LENGTH_MAX", "4"))
|
COMMAND_LENGTH_MAX: int = int(os.environ.get("COMMAND_LENGTH_MAX", "4"))
|
||||||
COMMAND_CALLBACK_URL: str = os.environ.get("COMMAND_CALLBACK_URL", "")
|
COMMAND_CALLBACK_URL: str = os.environ.get("COMMAND_CALLBACK_URL", "")
|
||||||
|
COMMAND_CALLBACK_TIMEOUT: int = int(os.environ.get("COMMAND_CALLBACK_TIMEOUT", "180"))
|
||||||
|
|||||||
@@ -4,7 +4,8 @@ import re
|
|||||||
|
|
||||||
import aiohttp
|
import aiohttp
|
||||||
|
|
||||||
from ..config import COMMAND_CALLBACK_URL, COMMAND_LENGTH_MAX, COMMAND_LENGTH_MIN, COMMAND_PREFIX
|
from ..config import COMMAND_CALLBACK_TIMEOUT, COMMAND_CALLBACK_URL, COMMAND_LENGTH_MAX, COMMAND_LENGTH_MIN, COMMAND_PREFIX, UPLOAD_DIR
|
||||||
|
from ..handlers.message import _resolve_url
|
||||||
|
|
||||||
|
|
||||||
def build_command_pattern() -> re.Pattern:
|
def build_command_pattern() -> re.Pattern:
|
||||||
@@ -64,7 +65,7 @@ async def send_command_callback(data: dict, event, api, logger) -> None:
|
|||||||
async with session.post(
|
async with session.post(
|
||||||
COMMAND_CALLBACK_URL,
|
COMMAND_CALLBACK_URL,
|
||||||
json=data,
|
json=data,
|
||||||
timeout=aiohttp.ClientTimeout(total=10),
|
timeout=aiohttp.ClientTimeout(total=COMMAND_CALLBACK_TIMEOUT),
|
||||||
) as resp:
|
) as resp:
|
||||||
if resp.status >= 400:
|
if resp.status >= 400:
|
||||||
body = await resp.text()
|
body = await resp.text()
|
||||||
@@ -128,9 +129,9 @@ async def _handle_reply(result: dict, msg_event, api, logger) -> None:
|
|||||||
if msg_type == "text":
|
if msg_type == "text":
|
||||||
text_parts.append(msg.get("msg", ""))
|
text_parts.append(msg.get("msg", ""))
|
||||||
elif msg_type == "image":
|
elif msg_type == "image":
|
||||||
image_url = msg.get("url")
|
image_url = _resolve_url(msg.get("url", ""))
|
||||||
elif msg_type == "video":
|
elif msg_type == "video":
|
||||||
video_url = msg.get("url")
|
video_url = _resolve_url(msg.get("url", ""))
|
||||||
elif msg_type == "file":
|
elif msg_type == "file":
|
||||||
file_msgs.append(msg)
|
file_msgs.append(msg)
|
||||||
|
|
||||||
@@ -146,7 +147,7 @@ async def _handle_reply(result: dict, msg_event, api, logger) -> None:
|
|||||||
await api.qq.post_private_array_msg(user_id=user_id, msg=reply_msg)
|
await api.qq.post_private_array_msg(user_id=user_id, msg=reply_msg)
|
||||||
# 文件单独发
|
# 文件单独发
|
||||||
for fm in file_msgs:
|
for fm in file_msgs:
|
||||||
url = fm.get("url", "")
|
url = _resolve_url(fm.get("url", ""))
|
||||||
filename = url.split("/")[-1]
|
filename = url.split("/")[-1]
|
||||||
if group_id:
|
if group_id:
|
||||||
await api.qq.send_group_file(group_id=group_id, file=url, name=filename)
|
await api.qq.send_group_file(group_id=group_id, file=url, name=filename)
|
||||||
|
|||||||
Reference in New Issue
Block a user