Skip to content

Commit ca5860d

Browse files
committed
⬆️ upgrade milky 0.4.1
1 parent 2825cda commit ca5860d

File tree

2 files changed

+16
-8
lines changed

2 files changed

+16
-8
lines changed

pdm.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/nonebot_plugin_alconna/uniseg/adapters/milky/exporter.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -143,21 +143,27 @@ async def video(self, seg: Video, bot: Union[Bot, None]) -> "MessageSegment":
143143

144144
@export
145145
async def file(self, seg: File, bot: Union[Bot, None]) -> "MessageSegment":
146+
filename = seg.name if seg.name != seg.__default_name__ else None
146147
if seg.path:
147-
return MessageSegment("$milky:file", {"uri": Path(seg.path).resolve().as_uri()})
148+
return MessageSegment(
149+
"$milky:file", {"uri": Path(seg.path).resolve().as_uri(), "name": filename or Path(seg.path).name}
150+
)
151+
if filename is None:
152+
raise SerializeFailed(lang.require("nbp-uniseg", "invalid_segment").format(type="file", seg=seg))
148153
if seg.url:
149-
return MessageSegment("$milky:file", {"uri": seg.url})
154+
return MessageSegment("$milky:file", {"uri": seg.url, "name": filename})
150155
if seg.raw:
151156
if seg.__class__.to_url:
152157
return MessageSegment(
153158
"$milky:file",
154159
{
155160
"uri": await seg.__class__.to_url(
156161
seg.raw, bot, None if seg.name == seg.__default_name__ else seg.name
157-
)
162+
),
163+
"name": filename,
158164
},
159165
)
160-
return MessageSegment("$milky:file", {"uri": to_uri(raw=seg.raw_bytes)})
166+
return MessageSegment("$milky:file", {"uri": to_uri(raw=seg.raw_bytes), "name": filename})
161167
raise SerializeFailed(lang.require("nbp-uniseg", "invalid_segment").format(type="file", seg=seg))
162168

163169
@export
@@ -171,7 +177,7 @@ async def reference(self, seg: Reference, bot: Union[Bot, None]) -> "MessageSegm
171177
if seg.id:
172178
messages = await bot.get_forwarded_messages(forward_id=seg.id)
173179
return MessageSegment.forward(
174-
[MessageSegment.node(msg.sender_id, msg.sender.nickname, msg.message) for msg in messages]
180+
[MessageSegment.node(int(bot.self_id) if bot else 10001, msg.name, msg.message) for msg in messages]
175181
)
176182
if not seg.children:
177183
raise SerializeFailed(lang.require("nbp-uniseg", "invalid_segment").format(type="forward", seg=seg))
@@ -210,12 +216,14 @@ async def send_to(self, target: Union[Target, Event], bot: Bot, message: Message
210216
file_id = await bot.upload_private_file(
211217
user_id=int(_target.id),
212218
url=msg[0].data["uri"],
219+
file_name=msg[0].data["name"],
213220
**kwargs,
214221
)
215222
else:
216223
file_id = await bot.upload_group_file(
217224
group_id=int(_target.id),
218225
url=msg[0].data["uri"],
226+
file_name=msg[0].data["name"],
219227
**kwargs,
220228
)
221229
return File(file_id)

0 commit comments

Comments
 (0)