Skip to content

Commit 5ea073b

Browse files
committed
转发模式显示群名称而不是群号
1 parent e12a389 commit 5ea073b

2 files changed

Lines changed: 32 additions & 13 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ ignore = [
128128
"RUF003",
129129
"W191",
130130
"TID252",
131+
"F821"
131132
]
132133

133134
[tool.ruff.lint.isort]

src/nonebot_plugin_onebot2tg/forwarder.py

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,36 @@
11
from __future__ import annotations
22

3-
from nonebot import get_adapter, logger
3+
from nonebot import logger, get_adapter
4+
from nonebot.rule import is_type
5+
from nonebot.drivers import Request
6+
from nonebot.plugin.on import on_message
7+
from nonebot.adapters.telegram import Bot as TGBot
48
from nonebot.adapters.onebot.v11 import (
59
Bot as OB11Bot,
10+
)
11+
from nonebot.adapters.onebot.v11 import (
612
Message as OB11Message,
13+
)
14+
from nonebot.adapters.onebot.v11 import (
715
MessageEvent as OB11MessageEvent,
16+
)
17+
from nonebot.adapters.onebot.v11 import (
18+
MessageSegment as OB11Segment,
19+
)
20+
from nonebot.adapters.onebot.v11 import (
821
GroupMessageEvent as OB11GroupMessageEvent,
22+
)
23+
from nonebot.adapters.onebot.v11 import (
924
PrivateMessageEvent as OB11PrivateMessageEvent,
10-
MessageSegment as OB11Segment,
1125
)
12-
from nonebot.adapters.telegram import Bot as TGBot
1326
from nonebot.adapters.telegram.event import MessageEvent as TGMessageEvent
1427
from nonebot.adapters.telegram.message import (
15-
Message as TGMessage,
1628
File,
1729
Entity,
1830
)
19-
from nonebot.drivers import Request
20-
from nonebot.plugin.on import on_message
21-
from nonebot.rule import is_type
31+
from nonebot.adapters.telegram.message import (
32+
Message as TGMessage,
33+
)
2234

2335
from .config import Config
2436

@@ -87,9 +99,7 @@ async def _download_tg_file(tg_bot: TGBot, file_id: str) -> bytes | None:
8799
# ============================================================
88100
# TG Message → OneBot V11 Message
89101
# ============================================================
90-
async def _tg_message_to_ob11(
91-
tg_bot: TGBot, event: TGMessageEvent
92-
) -> OB11Message:
102+
async def _tg_message_to_ob11(tg_bot: TGBot, event: TGMessageEvent) -> OB11Message:
93103
segments: list[OB11Segment] = []
94104

95105
for seg in event.get_message():
@@ -180,15 +190,17 @@ async def _send_to_tg(
180190
try:
181191
await tg_bot.send_to(
182192
chat_id=chat_id,
183-
message=TGMessage([first_seg]) + TGMessage([Entity.text(full_caption)]),
193+
message=TGMessage([first_seg])
194+
+ TGMessage([Entity.text(full_caption)]),
184195
)
185196
except Exception as e:
186197
logger.error(f"[{mode}] 发送图片到 TG 失败: {e}")
187198
else:
188199
try:
189200
await tg_bot.send_to(
190201
chat_id=chat_id,
191-
message=TGMessage([first_seg]) + TGMessage([Entity.text(full_caption)]),
202+
message=TGMessage([first_seg])
203+
+ TGMessage([Entity.text(full_caption)]),
192204
)
193205
for seg in file_segments[1:]:
194206
await tg_bot.send_to(chat_id=chat_id, message=seg)
@@ -279,7 +291,13 @@ async def handle_ob11_message(event: OB11MessageEvent):
279291
# ---------- 转发模式(QQ → TG 单向) ----------
280292
if config.onebot2tg_enable_forward and config.onebot2tg_forward_target_chat_id:
281293
if is_group:
282-
source = f"[群:{event.group_id}] {display_name}"
294+
group_name = ""
295+
try:
296+
group_info = await ob11_bot.get_group_info(group_id=event.group_id)
297+
group_name = group_info.get("group_name", "")
298+
except Exception as e:
299+
logger.warning(f"获取群信息失败: {e}")
300+
source = f"[群:{group_name or event.group_id}] {display_name}"
283301
elif isinstance(event, OB11PrivateMessageEvent):
284302
source = f"[私聊] {display_name}"
285303
else:

0 commit comments

Comments
 (0)