Skip to content

Commit 7de27ab

Browse files
committed
🐛 fix: Telegram适配器使用代理地址无法获取图片 #723
1 parent d8155bc commit 7de27ab

File tree

4 files changed

+21
-6
lines changed

4 files changed

+21
-6
lines changed

astrbot/core/config/default.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@
165165
"telegram_token": "your_bot_token",
166166
"start_message": "Hello, I'm AstrBot!",
167167
"telegram_api_base_url": "https://api.telegram.org/bot",
168+
"telegram_file_base_url": "https://api.telegram.org/file/bot",
168169
},
169170
},
170171
"items": {

astrbot/core/platform/sources/telegram/tg_adapter.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,19 @@ def __init__(
5151
if not base_url:
5252
base_url = "https://api.telegram.org/bot"
5353

54+
file_base_url = self.config.get(
55+
"telegram_file_base_url", "https://api.telegram.org/file/bot"
56+
)
57+
if not file_base_url:
58+
file_base_url = "https://api.telegram.org/file/bot"
59+
5460
self.base_url = base_url
5561

5662
self.application = (
5763
ApplicationBuilder()
5864
.token(self.config["telegram_token"])
5965
.base_url(base_url)
60-
.base_file_url(base_url)
66+
.base_file_url(file_base_url)
6167
.build()
6268
)
6369
message_handler = TelegramMessageHandler(

packages/python_interpreter/main.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -303,19 +303,27 @@ async def pi_file_clean(self, event: AstrMessageEvent):
303303
uid = event.get_sender_id()
304304
if uid in self.user_waiting:
305305
self.user_waiting.pop(uid)
306-
yield event.plain_result(f"代码执行器: {event.get_sender_name()}/{event.get_sender_id()} 已清理。")
306+
yield event.plain_result(
307+
f"代码执行器: {event.get_sender_name()}/{event.get_sender_id()} 已清理。"
308+
)
307309
else:
308-
yield event.plain_result(f"代码执行器: {event.get_sender_name()}/{event.get_sender_id()} 没有等待上传文件。")
310+
yield event.plain_result(
311+
f"代码执行器: {event.get_sender_name()}/{event.get_sender_id()} 没有等待上传文件。"
312+
)
309313

310314
@pi.command("list")
311315
async def pi_file_list(self, event: AstrMessageEvent):
312316
"""列出用户上传的文件"""
313317
uid = event.get_sender_id()
314318
if uid in self.user_file_msg_buffer:
315319
files = self.user_file_msg_buffer[uid]
316-
yield event.plain_result(f"代码执行器: {event.get_sender_name()}/{event.get_sender_id()} 上传的文件: {files}")
320+
yield event.plain_result(
321+
f"代码执行器: {event.get_sender_name()}/{event.get_sender_id()} 上传的文件: {files}"
322+
)
317323
else:
318-
yield event.plain_result(f"代码执行器: {event.get_sender_name()}/{event.get_sender_id()} 没有上传文件。")
324+
yield event.plain_result(
325+
f"代码执行器: {event.get_sender_name()}/{event.get_sender_id()} 没有上传文件。"
326+
)
319327

320328
@llm_tool("python_interpreter")
321329
async def python_interpreter(self, event: AstrMessageEvent):

packages/session_controller/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
21
from astrbot.api.event import AstrMessageEvent, filter
32
from astrbot.api.star import Context, Star, register
43
from astrbot.core.utils.session_waiter import SessionWaiter, USER_SESSIONS
54
from sys import maxsize
65

6+
77
@register(
88
"session_controller",
99
"Cvandia & Soulter",

0 commit comments

Comments
 (0)