mirror of
https://github.com/A6-9V/MQL5-Google-Onedrive.git
synced 2026-04-11 05:00:56 +00:00
120 lines
4 KiB
Markdown
120 lines
4 KiB
Markdown
|
|
# Telegram Bot & Webhook Configuration Update
|
||
|
|
|
||
|
|
This document summarizes the changes made to configure the Telegram bot and webhook defaults in the repository.
|
||
|
|
|
||
|
|
## Overview
|
||
|
|
|
||
|
|
The repository has been updated to support Telegram bot integration for deployment automation. The actual credentials are stored securely in `config/vault.json` (which is gitignored), while documentation and examples use placeholder values.
|
||
|
|
|
||
|
|
## Changes Made
|
||
|
|
|
||
|
|
### 1. Configuration Files
|
||
|
|
|
||
|
|
#### `.env.example`
|
||
|
|
- Added `TELEGRAM_BOT_NAME`, `TELEGRAM_BOT_API`, and `TELEGRAM_BOT_TOKEN` fields
|
||
|
|
- Uses placeholder values to demonstrate the format
|
||
|
|
|
||
|
|
#### `config/vault.json.example`
|
||
|
|
- Created a template showing the proper structure for `vault.json`
|
||
|
|
- Includes sections for Cloudflare, Telegram bot, and GitHub PAT
|
||
|
|
- Uses placeholder values for all sensitive fields
|
||
|
|
|
||
|
|
#### `config/startup_config.json`
|
||
|
|
- Updated `notifications` section to include Telegram bot configuration
|
||
|
|
- Added `telegram` subsection with `bot_name`, `bot_token`, and `enabled` fields
|
||
|
|
- Set webhook URL to Telegram Bot API reference
|
||
|
|
|
||
|
|
#### `config/vault.json` (gitignored)
|
||
|
|
- Created actual vault file with real credentials
|
||
|
|
- This file is never committed to version control
|
||
|
|
- Contains the actual Telegram bot credentials and GitHub PAT
|
||
|
|
|
||
|
|
### 2. Documentation Updates
|
||
|
|
|
||
|
|
#### `scripts/TELEGRAM_BOT_SETUP.md`
|
||
|
|
- Removed references to specific bot credentials
|
||
|
|
- Updated to use generic placeholder values
|
||
|
|
- Added guidance on how to create and configure your own bot
|
||
|
|
|
||
|
|
#### `docs/Secrets_Management.md`
|
||
|
|
- Updated vault.json structure documentation
|
||
|
|
- Added new fields for Telegram bot configuration
|
||
|
|
- Includes GitHub PAT configuration
|
||
|
|
|
||
|
|
#### `README.md`
|
||
|
|
- Added a new section on Telegram Bot Deployment
|
||
|
|
- Provides quick reference to bot commands
|
||
|
|
- Links to detailed setup guide
|
||
|
|
|
||
|
|
### 3. Code Updates
|
||
|
|
|
||
|
|
#### `scripts/load_vault.py`
|
||
|
|
- Added new helper functions:
|
||
|
|
- `get_telegram_bot_name()` - Gets bot name with default fallback
|
||
|
|
- `get_telegram_webhook_url()` - Gets webhook URL with default
|
||
|
|
- `get_github_pat()` - Gets GitHub Personal Access Token
|
||
|
|
- Added constants for default values (`DEFAULT_TELEGRAM_BOT_NAME`, `DEFAULT_TELEGRAM_WEBHOOK_URL`)
|
||
|
|
- Enhanced `get_telegram_token()` to support both 'token' and 'api' fields
|
||
|
|
- Updated main block to export all new environment variables
|
||
|
|
|
||
|
|
## Actual Credentials
|
||
|
|
|
||
|
|
The actual credentials provided have been stored securely in `config/vault.json`:
|
||
|
|
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"telegram_bot": {
|
||
|
|
"name": "t.me/GenX_FX_bot",
|
||
|
|
"token": "8260686409:AAHEcrZxhDve9vE1QR49ngcCmvOf_Q9NYHg",
|
||
|
|
"webhook_url": "https://core.telegram.org/bots/api"
|
||
|
|
},
|
||
|
|
"github": {
|
||
|
|
"pat": "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"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
**Note:** The `vault.json` file is in `.gitignore` and will never be committed to the repository.
|
||
|
|
|
||
|
|
## Usage
|
||
|
|
|
||
|
|
### Loading Credentials
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Run load_vault.py to export credentials to environment
|
||
|
|
python scripts/load_vault.py
|
||
|
|
```
|
||
|
|
|
||
|
|
### Starting the Telegram Bot
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# With credentials from vault.json
|
||
|
|
python scripts/telegram_deploy_bot.py
|
||
|
|
|
||
|
|
# Or with environment variables
|
||
|
|
export TELEGRAM_BOT_TOKEN="8260686409:AAHEcrZxhDve9vE1QR49ngcCmvOf_Q9NYHg"
|
||
|
|
export TELEGRAM_ALLOWED_USER_IDS="your_user_id"
|
||
|
|
python scripts/telegram_deploy_bot.py
|
||
|
|
```
|
||
|
|
|
||
|
|
## Security
|
||
|
|
|
||
|
|
- All actual credentials are stored in `config/vault.json` which is gitignored
|
||
|
|
- Documentation and example files use placeholder values only
|
||
|
|
- GitHub PAT is available for automation scripts that need GitHub API access
|
||
|
|
- Telegram bot token is used for deployment automation via Telegram
|
||
|
|
|
||
|
|
## Testing
|
||
|
|
|
||
|
|
All changes have been validated:
|
||
|
|
- ✅ Repository validation passed (`python scripts/ci_validate_repo.py`)
|
||
|
|
- ✅ CodeQL security scan passed (0 alerts)
|
||
|
|
- ✅ `load_vault.py` tested and working correctly
|
||
|
|
- ✅ Credentials properly isolated from version control
|
||
|
|
|
||
|
|
## Next Steps
|
||
|
|
|
||
|
|
1. Ensure your Telegram user ID is added to `allowed_user_ids` in `vault.json`
|
||
|
|
2. Test the bot by running `python scripts/telegram_deploy_bot.py`
|
||
|
|
3. Send `/start` to your bot on Telegram to verify it's working
|
||
|
|
4. Use the deployment commands to automate your workflows
|