PyTelegramBotAPI 要求代理映射
用 HTTPS 到 SOCKS 的代理映射配置基于 Requests 的同步 API 辅助模块。
PyTelegramBotAPI 的同步辅助模块会把代理设置交给 Requests。在用应用的 bot_token 构建机器人之前,先给该辅助模块赋一个把目标协议映射到代理 URL 的字典。SOCKS5 代理列表里的主机和端口可以填入示例中的 SOCKS5 URL:
import telebot
from telebot import apihelper
apihelper.proxy = {
"https": "socks5h://proxy.example.net:1080",
}
bot = telebot.TeleBot(bot_token)
键与值之间的冒号使这一结构成为字典;若写成一个只含逗号分隔字符串的花括号表达式,得到的是集合,Requests 无法把它当作代理映射使用。
https 键对应 Telegram API 的常规目标。socks5h 要求由代理端解析主机名,并依赖 Requests 的 SOCKS 支持。
apihelper.proxy 是模块级的共享配置,作用于同步辅助调用。应在工作进程启动前设置;在多个机器人同时运行时改动它,可能改变另一个机器人的路由。AsyncTeleBot 使用另一套辅助模块和传输方式。