You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中使用VMESS配置连接V2Ray服务器?(Telegram机器人场景)

适配VMESS代理的Python Telegram机器人示例代码

前提准备

  • 已配置好V2Ray客户端(如v2rayN、Qv2ray),启动后本地监听Socks5代理端口(常见为1080或自定义端口,比如10808)
  • 安装所需的Telegram机器人开发库

示例1:使用python-telegram-bot库(v13.x版本)

先安装依赖:

pip install python-telegram-bot==13.7

代码示例:

from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext
import socks
import socket

# 替换为你的V2Ray本地代理配置
PROXY_HOST = '127.0.0.1'
PROXY_PORT = 10808

# 全局设置Socks5代理
socks.set_default_proxy(socks.SOCKS5, PROXY_HOST, PROXY_PORT)
socket.socket = socks.socksocket

def start(update: Update, context: CallbackContext) -> None:
    update.message.reply_text('代理连接正常!')

def main() -> None:
    # 替换为你的机器人Token
    BOT_TOKEN = 'YOUR_BOT_TOKEN'
    updater = Updater(BOT_TOKEN)

    dispatcher = updater.dispatcher
    dispatcher.add_handler(CommandHandler("start", start))

    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()

示例2:使用Pyrogram异步库(推荐)

先安装依赖:

pip install pyrogram tgcrypto

代码示例:

from pyrogram import Client

# 替换为你的V2Ray本地代理配置
PROXY_CONFIG = {
    "scheme": "socks5",
    "hostname": "127.0.0.1",
    "port": 10808,
}

# 替换为你的API信息和机器人Token
app = Client(
    "telegram_bot_proxy",
    api_id=123456,
    api_hash="YOUR_API_HASH",
    bot_token="YOUR_BOT_TOKEN",
    proxy=PROXY_CONFIG
)

@app.on_message()
async def reply_message(client, message):
    await message.reply_text('代理已生效!')

if __name__ == "__main__":
    app.run()

关键注意事项

  • 运行代码前必须确保V2Ray客户端处于启动状态,且代理端口与代码配置一致
  • 若使用HTTP代理,只需修改代理类型:比如python-telegram-bot中用socks.HTTP替代socks.SOCKS5,Pyrogram中把scheme改为http
  • 避免硬编码敏感信息(Token、API ID等),建议通过环境变量读取:
    import os
    BOT_TOKEN = os.getenv("TELEGRAM_BOT_TOKEN")
    
  • 如果连接失败,先排查V2Ray节点是否可用、本地代理端口是否被占用

内容的提问来源于stack exchange,提问作者Amin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 19:28:17