https://deepwiki.com/search/pushplus-forktelegrambot-pytho_4e416c58-4e4e-42f8-b182-e8a96355ee39
—-



根据你的需求,你想要在现有的SGCC电力监控项目中添加Telegram Bot和企业微信机器人的推送支持。

## 当前推送系统分析

目前项目只支持Pushplus推送,推送逻辑位于`scripts/sensor_updator.py`的`balance_notify`方法中。 [1](#0-0) 当电费余额低于设定阈值时,系统会通过Pushplus发送通知。

## 需要修改的文件和位置

### 1. 环境变量配置文件

你需要在`example.env`文件中添加新的环境变量: [2](#0-1)

建议在现有的Pushplus配置后添加:
# Telegram Bot 配置
TG_BOT_TOKEN=your_bot_token
TG_USER_ID=your_user_id
TG_API_HOST=https://api.telegram.org  # 可选,自定义API地址
TG_PROXY_HOST=proxy_host  # 可选,代理主机
TG_PROXY_PORT=proxy_port  # 可选,代理端口
TG_PROXY_AUTH=user:pass   # 可选,代理认证

# 企业微信机器人配置
QYWX_KEY=your_webhook_key
QYWX_ORIGIN=https://qyapi.weixin.qq.com  # 可选,自定义API地址


### 2. 主配置加载逻辑

在`scripts/main.py`中,你需要在两个地方添加新的环境变量加载:

- Home Assistant Add-on模式(`options.json`): [3](#0-2)
- Docker模式(`.env`文件): [4](#0-3)

### 3. 推送逻辑修改

主要修改`scripts/sensor_updator.py`中的推送逻辑:

#### 在`init`方法中添加新的配置读取: [5](#0-4)

#### 修改`balance_notify`方法: [1](#0-0)

你需要将现有的单一Pushplus推送逻辑扩展为支持多种推送方式的逻辑。

## 推荐的实现方案

1. 创建推送工厂模式**:在`sensor_updator.py`中添加你提供的`wecom_bot`和`telegram_bot`函数
2. **修改`balance_notify`方法**:根据配置的环境变量决定使用哪种推送方式
3. **支持多推送并行**:可以同时启用多种推送方式

## 配置优先级

根据现有代码结构,配置加载的优先级是: [6](#0-5)
1. 如果存在`/data/options.json`(Home Assistant Add-on模式)
2. 否则使用环境变量(Docker模式)

你需要在两种配置方式中都添加对应的新环境变量支持。

**Notes


当前项目的推送功能集中在`SensorUpdator`类中,通过`RECHARGE_NOTIFY`环境变量控制是否启用推送。你的修改应该保持这个架构,只是扩展推送方式的选择。记得在`DataFetcher.fetch()`方法中,`SensorUpdator`实例会为每个用户ID调用推送检查。 [7](#0-6)

Wiki pages you might want to explore:
- [Overview (ARC-MX/sgcc_electricity_new)](/wiki/ARC-MX/sgcc_electricity_new#1)
- [Core Components (ARC-MX/sgcc_electricity_new)](/wiki/ARC-MX/sgcc_electricity_new#4)
 
 
Back to Top