Skip to content

Commit 4729e02

Browse files
committed
✨ Use forward_msg to send too long message
1 parent 8fb8a4d commit 4729e02

File tree

3 files changed

+667
-627
lines changed

3 files changed

+667
-627
lines changed

nonebot_plugin_manager/__init__.py

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,43 @@ async def _(bot: Bot, event: MessageEvent, args: Namespace = ShellCommandArgs())
5959
message = getattr(Handle, args.handle)(args)
6060
if message is not None:
6161
message = message.split("\n")
62-
i = 1
63-
while len(message) > 30:
64-
await bot.send(event, "\n".join(message[:30]) + f"\n【第{i}页】")
65-
message = message[31:]
66-
i = i + 1
67-
await bot.send(event, "\n".join(message[:30]) + "\n【完】")
62+
if len(message) > 15:
63+
i = 1
64+
messages = []
65+
while len(message) > 15:
66+
messages.append("\n".join(message[:15]) + f"\n【第{i}页】")
67+
message = message[15:]
68+
i = i + 1
69+
messages.append("\n".join(message[:15]) + f"\n【第{i}页-完】")
70+
if isinstance(event, GroupMessageEvent):
71+
await bot.send_group_forward_msg(
72+
group_id=event.group_id,
73+
messages=[
74+
{
75+
"type": "node",
76+
"data": {
77+
"name": "NBPM",
78+
"uin": bot.self_id,
79+
"content": msg,
80+
},
81+
}
82+
for msg in messages
83+
],
84+
)
85+
else:
86+
await bot.send_private_forward_msg(
87+
user_id=event.user_id,
88+
messages=[
89+
{
90+
"type": "node",
91+
"data": {
92+
"name": "NBPM",
93+
"uin": bot.self_id,
94+
"content": msg,
95+
},
96+
}
97+
for msg in messages
98+
],
99+
)
100+
else:
101+
await bot.send(event, "\n".join(message[:30]))

0 commit comments

Comments
 (0)