use legacy call method

This commit is contained in:
felinae98 2022-03-20 19:57:25 +08:00
parent 0aaaa86c24
commit 0a11499317
No known key found for this signature in database
GPG Key ID: 00C8B010587FF610
2 changed files with 43 additions and 39 deletions

View File

@ -80,14 +80,28 @@ async def send_msgs(
group_bot_info = await bot.get_group_member_info( group_bot_info = await bot.get_group_member_info(
group_id=user, user_id=int(bot.self_id), no_cache=True group_id=user, user_id=int(bot.self_id), no_cache=True
) # 调用api获取群内bot的相关参数 ) # 调用api获取群内bot的相关参数
forward_msg = Message( # forward_msg = Message(
[ # [
MessageSegment.node_custom( # MessageSegment.node_custom(
group_bot_info["user_id"], # group_bot_info["user_id"],
nickname=group_bot_info["card"] or group_bot_info["nickname"], # nickname=group_bot_info["card"] or group_bot_info["nickname"],
content=msg, # content=msg,
) # )
for msg in msgs # for msg in msgs
] # ]
) # )
# FIXME: Because of https://github.com/nonebot/adapter-onebot/issues/9
forward_msg = [
{
"type": "node",
"data": {
"name": group_bot_info["card"] or group_bot_info["nickname"],
"uin": group_bot_info["user_id"],
"content": msg,
},
}
for msg in msgs
]
await _send_msgs_dispatch(bot, user, "group-forward", forward_msg) await _send_msgs_dispatch(bot, user, "group-forward", forward_msg)

View File

@ -1,4 +1,5 @@
import pytest import pytest
from nonebot.adapters.onebot.v11.message import Message
from nonebug import App from nonebug import App
@ -58,6 +59,14 @@ async def test_send_queue(app: App):
assert ctx.wait_list.empty() assert ctx.wait_list.empty()
def gen_node(id, name, content: Message):
return {"type": "node", "data": {"name": name, "uin": id, "content": content}}
def _merge_messge(nodes):
return nodes
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_send_merge_no_queue(app: App): async def test_send_merge_no_queue(app: App):
from nonebot.adapters.onebot.v11.bot import Bot from nonebot.adapters.onebot.v11.bot import Bot
@ -102,15 +111,8 @@ async def test_send_merge_no_queue(app: App):
{"group_id": 633, "user_id": 8888, "no_cache": True}, {"group_id": 633, "user_id": 8888, "no_cache": True},
{"user_id": 8888, "card": "admin", "nickname": "adminuser"}, {"user_id": 8888, "card": "admin", "nickname": "adminuser"},
) )
merged_message = Message( merged_message = _merge_messge(
[ [gen_node(8888, "admin", message[1]), gen_node(8888, "admin", message[2])]
MessageSegment.node_custom(
user_id=8888, nickname="admin", content=message[1]
),
MessageSegment.node_custom(
user_id=8888, nickname="admin", content=message[2]
),
]
) )
ctx.should_call_api( ctx.should_call_api(
"send_group_forward_msg", "send_group_forward_msg",
@ -135,17 +137,11 @@ async def test_send_merge_no_queue(app: App):
{"group_id": 633, "user_id": 8888, "no_cache": True}, {"group_id": 633, "user_id": 8888, "no_cache": True},
{"user_id": 8888, "card": None, "nickname": "adminuser"}, {"user_id": 8888, "card": None, "nickname": "adminuser"},
) )
merged_message = Message( merged_message = _merge_messge(
[ [
MessageSegment.node_custom( gen_node(8888, "adminuser", message[1]),
user_id=8888, nickname="adminuser", content=message[1] gen_node(8888, "adminuser", message[2]),
), gen_node(8888, "adminuser", message[3]),
MessageSegment.node_custom(
user_id=8888, nickname="adminuser", content=message[2]
),
MessageSegment.node_custom(
user_id=8888, nickname="adminuser", content=message[3]
),
] ]
) )
ctx.should_call_api( ctx.should_call_api(
@ -197,17 +193,11 @@ async def test_send_merge2_no_queue(app: App):
{"group_id": 633, "user_id": 8888, "no_cache": True}, {"group_id": 633, "user_id": 8888, "no_cache": True},
{"user_id": 8888, "card": "admin", "nickname": "adminuser"}, {"user_id": 8888, "card": "admin", "nickname": "adminuser"},
) )
merged_message = Message( merged_message = _merge_messge(
[ [
MessageSegment.node_custom( gen_node(8888, "admin", message[0]),
user_id=8888, nickname="admin", content=message[0] gen_node(8888, "admin", message[1]),
), gen_node(8888, "admin", message[2]),
MessageSegment.node_custom(
user_id=8888, nickname="admin", content=message[1]
),
MessageSegment.node_custom(
user_id=8888, nickname="admin", content=message[2]
),
] ]
) )
ctx.should_call_api( ctx.should_call_api(