mirror of
https://github.com/suyiiyii/nonebot-bison.git
synced 2025-06-06 20:06:12 +08:00
Merge branch 'main' of https://github.com/AzideCupric/nonebot-bison
This commit is contained in:
commit
3057f41f25
@ -1,5 +1,5 @@
|
||||
from email import message
|
||||
import time
|
||||
from email import message
|
||||
from typing import Literal, Union
|
||||
|
||||
from nonebot.adapters import Message, MessageSegment
|
||||
@ -11,23 +11,19 @@ from .plugin_config import plugin_config
|
||||
QUEUE = [] # 不开启图片合并转发时使用
|
||||
LAST_SEND_TIME = time.time()
|
||||
|
||||
def generate_forward_msg(
|
||||
msgs:list, self_id:str, nickname:str
|
||||
):
|
||||
|
||||
def generate_forward_msg(msgs: list, self_id: str, nickname: str):
|
||||
group_msg = []
|
||||
for msg in msgs:
|
||||
sub_msg = {
|
||||
"type": "node",
|
||||
"data": {
|
||||
"name": f"{nickname}",
|
||||
"uin": f"{self_id}",
|
||||
"content": f"{msg}"
|
||||
}
|
||||
"data": {"name": f"{nickname}", "uin": f"{self_id}", "content": f"{msg}"},
|
||||
}
|
||||
group_msg.append(sub_msg)
|
||||
|
||||
return group_msg
|
||||
|
||||
|
||||
async def _do_send(
|
||||
bot: "Bot", user: str, user_type: str, msg: Union[str, Message, MessageSegment]
|
||||
):
|
||||
@ -36,6 +32,7 @@ async def _do_send(
|
||||
elif user_type == "private":
|
||||
await bot.call_api("send_private_msg", user_id=user, message=msg)
|
||||
|
||||
|
||||
async def _do_merge_send(
|
||||
bot: Bot, user, user_type: Literal["private", "group"], msgs: list
|
||||
):
|
||||
@ -51,10 +48,13 @@ async def _do_merge_send(
|
||||
if len(msgs) == 1: # 只有一条消息序列就不合并转发
|
||||
await _do_send(bot, user, user_type, msgs.pop(0))
|
||||
else:
|
||||
group_bot_info = await bot.get_group_member_info(group_id=user,user_id=bot.self_id,no_cache=True)#调用api获取群内bot的相关参数
|
||||
forward_msg = generate_forward_msg(msgs = msgs,
|
||||
group_bot_info = await bot.get_group_member_info(
|
||||
group_id=user, user_id=bot.self_id, no_cache=True
|
||||
) # 调用api获取群内bot的相关参数
|
||||
forward_msg = generate_forward_msg(
|
||||
msgs=msgs,
|
||||
self_id=group_bot_info["user_id"],
|
||||
nickname = group_bot_info["card"]
|
||||
nickname=group_bot_info["card"],
|
||||
) # 生成合并转发内容
|
||||
await bot.send_group_forward_msg(group_id=user, messages=forward_msg)
|
||||
except Exception as e_b: # behind_msg_exception
|
||||
@ -62,6 +62,7 @@ async def _do_merge_send(
|
||||
else:
|
||||
logger.info("成功向群{}发送合并图片转发消息".format(user))
|
||||
|
||||
|
||||
async def do_send_msgs():
|
||||
global LAST_SEND_TIME
|
||||
if time.time() - LAST_SEND_TIME < 1.5:
|
||||
@ -81,7 +82,6 @@ async def do_send_msgs():
|
||||
LAST_SEND_TIME = time.time()
|
||||
|
||||
|
||||
|
||||
async def send_msgs(bot: Bot, user, user_type: Literal["private", "group"], msgs: list):
|
||||
if plugin_config.bison_use_queue:
|
||||
if plugin_config.bison_use_pic_merge and user_type == "group":
|
||||
|
Loading…
x
Reference in New Issue
Block a user