Spaces:
Paused
Paused
Update README.md
Browse files
README.md
CHANGED
|
@@ -18,62 +18,82 @@ pinned: false
|
|
| 18 |
|
| 19 |
## 🇷🇺 Прокси Telegram Bot API с расширенными инструментами
|
| 20 |
|
| 21 |
-
Этот Space запускает локальный сервер Telegram Bot API и предоставляет многофункциональное Node.js приложение-прокси с дополнительными инструментами
|
| 22 |
|
| 23 |
-
|
| 24 |
|
| 25 |
-
|
| 26 |
-
* **Расширенные ответы API**: Автоматическое добавление прямых и зашифрованных ссылок на скачивание/удаление файлов в ответы методов API, возвращающих информацию о файлах (например, `getMe`, `getFile`, `sendPhoto` и т.д.).
|
| 27 |
-
* **Управление файлами**:
|
| 28 |
-
* Статистика по файлам (количество, общий размер).
|
| 29 |
-
* Скачивание файлов по ID или пути.
|
| 30 |
-
* Удаление файлов по ID или пути.
|
| 31 |
-
* Листинг файлов для конкретного бота.
|
| 32 |
-
* **Зашифрованные ссылки с истечением срока действия**: Генерация временных, защищенных ссылок на скачивание.
|
| 33 |
-
* **Автоматическая очистка кэша (TTL)**: Удаление старых файлов.
|
| 34 |
-
* **Интеграция с GitHub Gist**: Сохранение информации о Space и URL инструментов в Gist.
|
| 35 |
|
| 36 |
-
###
|
| 37 |
|
| 38 |
-
|
| 39 |
|
| 40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
-
|
| 43 |
-
* `TELEGRAM_API_HASH`: Ваш API Hash от Telegram.
|
| 44 |
-
* `GITHUB_USERNAME`: Ваш логин на GitHub (для обновления Gist).
|
| 45 |
-
* `GITHUB_TOKEN`: Ваш Personal Access Token от GitHub с правом `gist`.
|
| 46 |
-
* `ENV_GIST_ID`: ID вашего GitHub Gist для сохранения информации.
|
| 47 |
-
* `LINK_ENCRYPTION_KEY`: Секретная фраза для шифрования ссылок (рекомендуется длинная случайная строка).
|
| 48 |
-
* `DEFAULT_LINK_EXPIRY_HOURS` (опционально): Время жизни зашифрованных ссылок по умолчанию в часах (например, `24`). Значение `-1` означает бессрочные ссылки. По умолчанию: `24`.
|
| 49 |
|
| 50 |
-
|
| 51 |
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
|
|
|
|
|
|
|
|
|
| 56 |
|
| 57 |
-
###
|
| 58 |
|
| 59 |
-
**Посетите корневой URL вашего Space (`https://[YOUR_SPACE_URL]/`) для интерактивной документации по
|
| 60 |
|
| 61 |
-
|
| 62 |
|
| 63 |
-
####
|
| 64 |
|
| 65 |
* **URL**: `https://[YOUR_SPACE_URL]/tg/bot<YOUR_BOT_TOKEN>/<METHOD_NAME>`
|
| 66 |
-
* **Описание**:
|
| 67 |
-
* **Управление сроком действия ссылок**: Добавьте параметр `?link_expiry_hours=N` к URL проксируемого запроса.
|
| 68 |
|
| 69 |
-
####
|
| 70 |
|
| 71 |
-
|
| 72 |
-
* **Операции с файлами**: Базовый путь `https://[YOUR_SPACE_URL]/file` (см. документацию на корневом URL для деталей по эндпоинтам `/list`, `/<BOT_TOKEN>/getFile`, `/<BOT_TOKEN>/downloadFile`, и т.д.).
|
| 73 |
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
|
| 78 |
---
|
| 79 |
<br>
|
|
@@ -81,59 +101,79 @@ pinned: false
|
|
| 81 |
|
| 82 |
## 🇬🇧 Telegram Bot API Proxy & Tools
|
| 83 |
|
| 84 |
-
This Space runs a local Telegram Bot API server and provides a feature-rich Node.js proxy application with additional tools
|
| 85 |
|
| 86 |
-
|
| 87 |
|
| 88 |
-
|
| 89 |
-
* **Enhanced API Responses**: Automatically augments API method responses that return file information (e.g., `getMe`, `getFile`, `sendPhoto`, etc.) with direct and encrypted download/delete links.
|
| 90 |
-
* **File Management**:
|
| 91 |
-
* File statistics (count, total size).
|
| 92 |
-
* Download files by ID or path.
|
| 93 |
-
* Delete files by ID or path.
|
| 94 |
-
* List files for a specific bot.
|
| 95 |
-
* **Encrypted Links with Expiry**: Generate temporary, secure download links.
|
| 96 |
-
* **Automatic Cache Cleanup (TTL)**: Deletion of old files.
|
| 97 |
-
* **GitHub Gist Integration**: Saves Space information and tool URLs to a Gist.
|
| 98 |
|
| 99 |
-
###
|
| 100 |
|
| 101 |
-
|
| 102 |
|
| 103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
|
| 105 |
-
|
| 106 |
-
* `TELEGRAM_API_HASH`: Your API Hash from Telegram.
|
| 107 |
-
* `GITHUB_USERNAME`: Your GitHub login (for Gist updates).
|
| 108 |
-
* `GITHUB_TOKEN`: Your GitHub Personal Access Token with `gist` scope.
|
| 109 |
-
* `ENV_GIST_ID`: ID of your GitHub Gist for storing information.
|
| 110 |
-
* `LINK_ENCRYPTION_KEY`: A secret passphrase for link encryption (a long random string is recommended).
|
| 111 |
-
* `DEFAULT_LINK_EXPIRY_HOURS` (optional): Default expiry time for encrypted links in hours (e.g., `24`). A value of `-1` means no expiry. Default: `24`.
|
| 112 |
|
| 113 |
-
|
| 114 |
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
|
|
|
|
|
|
|
|
|
| 119 |
|
| 120 |
-
###
|
| 121 |
|
| 122 |
-
**Visit the root URL of your Space (`https://[YOUR_SPACE_URL]/`) for interactive
|
| 123 |
|
| 124 |
-
|
| 125 |
|
| 126 |
-
####
|
| 127 |
|
| 128 |
* **URL**: `https://[YOUR_SPACE_URL]/tg/bot<YOUR_BOT_TOKEN>/<METHOD_NAME>`
|
| 129 |
-
* **Description**:
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
*
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
|
| 19 |
## 🇷🇺 Прокси Telegram Bot API с расширенными инструментами
|
| 20 |
|
| 21 |
+
Этот Space запускает локальный сервер Telegram Bot API (на основе официальной сборки TDLib) и предоставляет многофункциональное Node.js приложение-прокси с дополнительными инструментами для управления файлами и генерации ссылок.
|
| 22 |
|
| 23 |
+
**Посетите корневой URL вашего Space для интерактивной документации по API.**
|
| 24 |
|
| 25 |
+
### 1. Конфигурация
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
+
#### 1.1. Секреты (Обязательные и Опциональные)
|
| 28 |
|
| 29 |
+
Эти переменные должны быть установлены как "Secrets" в настройках вашего Hugging Face Space (`Settings -> Secrets`).
|
| 30 |
|
| 31 |
+
| Переменная | Обязательность | Описание | Пример значения |
|
| 32 |
+
| :-------------------------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------- |
|
| 33 |
+
| `TELEGRAM_API_ID` | **Обязательно** | Ваш API ID, полученный от Telegram (my.telegram.org). | `1234567` |
|
| 34 |
+
| `TELEGRAM_API_HASH` | **Обязательно** | Ваш API Hash, полученный от Telegram. | `0123456789abcdef0123456789abcdef` |
|
| 35 |
+
| `GITHUB_TOKEN` | Опционально | Персональный токен доступа GitHub с правом `gist`. Необходим для автоматического обновления Gist с информацией о Space. | `ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx` |
|
| 36 |
+
| `ENV_GIST_ID` | Опционально | ID существующего GitHub Gist, в который будет записываться информация. Требуется, если указан `GITHUB_TOKEN`. | `abcdef0123456789abcdef0123456789` |
|
| 37 |
+
| `LINK_ENCRYPTION_KEY` | Опционально | Секретная фраза для шифрования полезной нагрузки в ссылках `/downloadEncrypted`. Если не указана, генерация зашифрованных ссылок отключена. | `ОченьДлинныйИСлучайныйКлюч123!` |
|
| 38 |
+
| `GITHUB_USERNAME` | Опционально | Ваш логин на GitHub. Используется для формирования ссылки на Gist. Если не указан, но `GITHUB_TOKEN` и `ENV_GIST_ID` есть, Gist все равно будет обновляться. | `ваш_логин_github` |
|
| 39 |
|
| 40 |
+
#### 1.2. Переменные Окружения (Настраиваемые с Значениями по Умолчанию)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
+
Эти переменные можно переопределить, добавив их в "Secrets" вашего Space. Если они не переопределены, используются значения по умолчанию.
|
| 43 |
|
| 44 |
+
| Переменная | По умолчанию | Описание |
|
| 45 |
+
| :----------------------------- | :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| 46 |
+
| `INTERNAL_TELEGRAM_API_PORT` | `8081` | Внутренний порт, на котором запускается сам процесс `telegram-bot-api`. Node.js приложение проксирует запросы на этот порт. |
|
| 47 |
+
| `TELEGRAM_DATA_DIR` | `/var/lib/telegram-bot-api` | Директория на сервере, где `telegram-bot-api` хранит свои данные, включая кэшированные файлы. |
|
| 48 |
+
| `FILES_TTL` | `-1` | Время жизни (TTL) для файлов в кэше `TELEGRAM_DATA_DIR` в часах. Файлы старше этого времени будут периодически удаляться. Значение `-1` отключает автоматическую очистку. |
|
| 49 |
+
| `PROXY_TELEGRAM_PATH_PREFIX` | `/tg` | URL-префикс, по которому будет доступен "чистый" прокси к Telegram Bot API. Например, `https://[SPACE_URL]/tg/bot<TOKEN>/METHOD`. |
|
| 50 |
+
| `DEFAULT_LINK_EXPIRY_HOURS` | `24` | Время жизни по умолчанию в часах для генерируемых зашифрованных ссылок (через эндпоинт `/file/.../getFile` или при автоматическом расширении ответов). Значение `-1` означает бессрочные ссылки. |
|
| 51 |
|
| 52 |
+
### 2. Основные возможности и эндпоинты
|
| 53 |
|
| 54 |
+
**Посетите корневой URL вашего Space (`https://[YOUR_SPACE_URL]/`) для интерактивной HTML-документации по всем эндпоинтам.**
|
| 55 |
|
| 56 |
+
Ниже приведено краткое описание:
|
| 57 |
|
| 58 |
+
#### 2.1. "Чистый" Прокси Telegram Bot API
|
| 59 |
|
| 60 |
* **URL**: `https://[YOUR_SPACE_URL]/tg/bot<YOUR_BOT_TOKEN>/<METHOD_NAME>`
|
| 61 |
+
* **Описание**: Прямое проксирование запросов к вашему локальному экземпляру Telegram Bot API. Возвращает **неизмененный** ответ от API. Используйте этот эндпоинт, если вам нужен стандартный ответ API без каких-либо дополнений.
|
|
|
|
| 62 |
|
| 63 |
+
#### 2.2. Расширенные Инструменты и Операции с Файлами
|
| 64 |
|
| 65 |
+
##### Базовый путь для файловых операций: `https://[YOUR_SPACE_URL]/file`
|
|
|
|
| 66 |
|
| 67 |
+
1. **Получение информации о файле с дополнительными ссылками:**
|
| 68 |
+
* **Эндпоинт**: `GET /file/<YOUR_BOT_TOKEN>/getFile?file_id=<FILE_ID>`
|
| 69 |
+
* **Описание**: Делает запрос к локальному Telegram API (`getFile`), получает стандартный ответ и **дополняет** его следующими полями:
|
| 70 |
+
* `direct_download_link_by_path`: Прямая ссылка для скачивания файла по его относительному пути в кэше.
|
| 71 |
+
* `direct_download_link_by_id`: Прямая ссылка для скачивания файла через эндпоинт `/downloadFile`.
|
| 72 |
+
* `delete_link_by_path`: Ссылка для удаления файла по его относительному пути в кэше.
|
| 73 |
+
* `delete_link_by_id`: Ссылка для удаления файла по его ID.
|
| 74 |
+
* `encrypted_download_link_by_path` (если `LINK_ENCRYPTION_KEY` установлен): Зашифрованная ссылка на скачивание по пути с ограниченным сроком действия.
|
| 75 |
+
* `encrypted_download_link_by_id` (если `LINK_ENCRYPTION_KEY` установлен): Зашифрованная ссылка на скачивание по ID с ограниченным сроком действия.
|
| 76 |
+
* **Параметр `link_expiry_hours`**: Можно добавить к запросу (например, `?file_id=...&link_expiry_hours=2`), чтобы указать время жизни для генерируемых зашифрованных ссылок (в часах, `-1` для бессрочных). По умолчанию используется `DEFAULT_LINK_EXPIRY_HOURS`.
|
| 77 |
|
| 78 |
+
2. **Другие файловые операции**:
|
| 79 |
+
* `GET /stats`: Статистика по файлам в `TELEGRAM_DATA_DIR`.
|
| 80 |
+
* Опциональный query-параметр `run_ttl_now=true` для немедленного запуска очистки старых файлов.
|
| 81 |
+
* `GET /list?token=<YOUR_BOT_TOKEN>`: Список файлов для указанного бота с размерами.
|
| 82 |
+
* `GET /<YOUR_BOT_TOKEN>/downloadFile?file_id=<FILE_ID>`: Скачать файл по ID.
|
| 83 |
+
* `GET /<RELATIVE_PATH_INCLUDING_BOT_TOKEN_DIR>`: Скачать файл по его полному относительному пути в кэше (например, `/bot123:abc/photos/file_0.jpg`).
|
| 84 |
+
* `GET /downloadEncrypted?payload=<ENCRYPTED_PAYLOAD>`: Скачать файл по зашифрованной полезной нагрузке (полученной из эндпоинта `getFile`).
|
| 85 |
+
* `GET /deleteFile?file=<RELATIVE_PATH_INCLUDING_BOT_TOKEN_DIR>`: Удалить файл по его полному относительному пути.
|
| 86 |
+
* `GET /<YOUR_BOT_TOKEN>/deleteById?file_id=<FILE_ID>`: Удалить файл по ID.
|
| 87 |
+
|
| 88 |
+
### 3. Информация в Gist
|
| 89 |
+
|
| 90 |
+
Если настроены `GITHUB_TOKEN` и `ENV_GIST_ID`, информация о вашем Space (включая полезные URL) будет автоматически обн��вляться в указанном GitHub Gist (в файле с именем `hf_space_telegram_bot_api_proxy_info.json`).
|
| 91 |
+
|
| 92 |
+
### 4. Важно о путях к файлам
|
| 93 |
+
|
| 94 |
+
* Локальный `telegram-bot-api` обычно сохраняет файлы в подкаталоге, названном в честь токена бота (например, `/var/lib/telegram-bot-api/bot123:abc/...`). Файлы в этом кэше могут не иметь расширений или иметь числовые суффиксы.
|
| 95 |
+
* Относительные пути, используемые в URL инструментов (например, для скачивания или удаления по пути), должны включать эту структуру каталога токена: `bot<TOKEN>/<category>/<filename_in_cache>`.
|
| 96 |
+
* При скачивании файлов приложение пытается установить корректный `Content-Disposition` и `Content-Type` для лучшего взаимодействия с браузером.
|
| 97 |
|
| 98 |
---
|
| 99 |
<br>
|
|
|
|
| 101 |
|
| 102 |
## 🇬🇧 Telegram Bot API Proxy & Tools
|
| 103 |
|
| 104 |
+
This Space runs a local Telegram Bot API server (based on the official TDLib build) and provides a feature-rich Node.js proxy application with additional tools for file management and link generation.
|
| 105 |
|
| 106 |
+
**Visit the root URL of your Space for interactive API documentation.**
|
| 107 |
|
| 108 |
+
### 1. Configuration
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
|
| 110 |
+
#### 1.1. Secrets (Required and Optional)
|
| 111 |
|
| 112 |
+
These variables must be set as "Secrets" in your Hugging Face Space settings (`Settings -> Secrets`).
|
| 113 |
|
| 114 |
+
| Variable | Requirement | Description | Example Value |
|
| 115 |
+
| :-------------------------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------- |
|
| 116 |
+
| `TELEGRAM_API_ID` | **Required** | Your API ID obtained from Telegram (my.telegram.org). | `1234567` |
|
| 117 |
+
| `TELEGRAM_API_HASH` | **Required** | Your API Hash obtained from Telegram. | `0123456789abcdef0123456789abcdef` |
|
| 118 |
+
| `GITHUB_TOKEN` | Optional | GitHub Personal Access Token with `gist` scope. Needed for automatic Gist updates with Space information. | `ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx` |
|
| 119 |
+
| `ENV_GIST_ID` | Optional | ID of an existing GitHub Gist where information will be written. Required if `GITHUB_TOKEN` is provided. | `abcdef0123456789abcdef0123456789` |
|
| 120 |
+
| `LINK_ENCRYPTION_KEY` | Optional | Secret passphrase for encrypting payloads in `/downloadEncrypted` links. If not set, encrypted link generation is disabled. | `AVeryLongAndRandomKey123!` |
|
| 121 |
+
| `GITHUB_USERNAME` | Optional | Your GitHub username. Used for forming the Gist link. If not set, but `GITHUB_TOKEN` and `ENV_GIST_ID` are, Gist will still be updated. | `your_github_username` |
|
| 122 |
|
| 123 |
+
#### 1.2. Environment Variables (Configurable with Defaults)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 124 |
|
| 125 |
+
These variables can be overridden by adding them to your Space "Secrets". If not overridden, default values are used.
|
| 126 |
|
| 127 |
+
| Variable | Default Value | Description |
|
| 128 |
+
| :----------------------------- | :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| 129 |
+
| `INTERNAL_TELEGRAM_API_PORT` | `8081` | The internal port on which the `telegram-bot-api` process itself runs. The Node.js application proxies requests to this port. |
|
| 130 |
+
| `TELEGRAM_DATA_DIR` | `/var/lib/telegram-bot-api` | The directory on the server where `telegram-bot-api` stores its data, including cached files. |
|
| 131 |
+
| `FILES_TTL` | `-1` | Time-to-live (TTL) for files in the `TELEGRAM_DATA_DIR` cache, in hours. Files older than this will be periodically deleted. A value of `-1` disables automatic cleanup. |
|
| 132 |
+
| `PROXY_TELEGRAM_PATH_PREFIX` | `/tg` | The URL prefix where the "clean" proxy to the Telegram Bot API will be available. E.g., `https://[SPACE_URL]/tg/bot<TOKEN>/METHOD`. |
|
| 133 |
+
| `DEFAULT_LINK_EXPIRY_HOURS` | `24` | Default lifetime in hours for generated encrypted links (via the `/file/.../getFile` endpoint or when auto-augmenting responses). A value of `-1` means links do not expire. |
|
| 134 |
|
| 135 |
+
### 2. Core Features & Endpoints
|
| 136 |
|
| 137 |
+
**Visit the root URL of your Space (`https://[YOUR_SPACE_URL]/`) for interactive HTML documentation of all endpoints.**
|
| 138 |
|
| 139 |
+
Below is a brief overview:
|
| 140 |
|
| 141 |
+
#### 2.1. "Clean" Telegram Bot API Proxy
|
| 142 |
|
| 143 |
* **URL**: `https://[YOUR_SPACE_URL]/tg/bot<YOUR_BOT_TOKEN>/<METHOD_NAME>`
|
| 144 |
+
* **Description**: Directly proxies requests to your local Telegram Bot API instance. Returns the **unmodified** response from the API. Use this endpoint if you need the standard API response without any additions.
|
| 145 |
+
|
| 146 |
+
#### 2.2. Enhanced Tools & File Operations
|
| 147 |
+
|
| 148 |
+
##### Base path for file operations: `https://[YOUR_SPACE_URL]/file`
|
| 149 |
+
|
| 150 |
+
1. **Get File Info with Augmented Links:**
|
| 151 |
+
* **Endpoint**: `GET /file/<YOUR_BOT_TOKEN>/getFile?file_id=<FILE_ID>`
|
| 152 |
+
* **Description**: Makes a request to the local Telegram API (`getFile`), gets the standard response, and then **augments** it with the following fields:
|
| 153 |
+
* `direct_download_link_by_path`: Direct link to download the file by its relative path in the cache.
|
| 154 |
+
* `direct_download_link_by_id`: Direct link to download the file via the `/downloadFile` endpoint.
|
| 155 |
+
* `delete_link_by_path`: Link to delete the file by its relative path in the cache.
|
| 156 |
+
* `delete_link_by_id`: Link to delete the file by its ID.
|
| 157 |
+
* `encrypted_download_link_by_path` (if `LINK_ENCRYPTION_KEY` is set): Encrypted, time-limited download link by path.
|
| 158 |
+
* `encrypted_download_link_by_id` (if `LINK_ENCRYPTION_KEY` is set): Encrypted, time-limited download link by ID.
|
| 159 |
+
* **`link_expiry_hours` parameter**: Can be added to the request (e.g., `?file_id=...&link_expiry_hours=2`) to specify the lifetime for generated encrypted links (in hours, `-1` for indefinite). Defaults to `DEFAULT_LINK_EXPIRY_HOURS`.
|
| 160 |
+
|
| 161 |
+
2. **Other File Operations**:
|
| 162 |
+
* `GET /stats`: Statistics for files in `TELEGRAM_DATA_DIR`.
|
| 163 |
+
* Optional query parameter `run_ttl_now=true` to immediately trigger cleanup of old files.
|
| 164 |
+
* `GET /list?token=<YOUR_BOT_TOKEN>`: List files for the specified bot with sizes.
|
| 165 |
+
* `GET /<YOUR_BOT_TOKEN>/downloadFile?file_id=<FILE_ID>`: Download a file by its ID.
|
| 166 |
+
* `GET /<RELATIVE_PATH_INCLUDING_BOT_TOKEN_DIR>`: Download a file by its full relative path in the cache (e.g., `/bot123:abc/photos/file_0.jpg`).
|
| 167 |
+
* `GET /downloadEncrypted?payload=<ENCRYPTED_PAYLOAD>`: Download a file using an encrypted payload (obtained from the `getFile` endpoint).
|
| 168 |
+
* `GET /deleteFile?file=<RELATIVE_PATH_INCLUDING_BOT_TOKEN_DIR>`: Delete a file by its full relative path.
|
| 169 |
+
* `GET /<YOUR_BOT_TOKEN>/deleteById?file_id=<FILE_ID>`: Delete a file by its ID.
|
| 170 |
+
|
| 171 |
+
### 3. Gist Information
|
| 172 |
+
|
| 173 |
+
If `GITHUB_TOKEN` and `ENV_GIST_ID` are configured, information about your Space (including useful URLs) will be automatically updated in the specified GitHub Gist (in a file named `hf_space_telegram_bot_api_proxy_info.json`).
|
| 174 |
+
|
| 175 |
+
### 4. Important Notes on File Paths
|
| 176 |
+
|
| 177 |
+
* The local `telegram-bot-api` typically saves files in a subdirectory named after the bot token (e.g., `/var/lib/telegram-bot-api/bot123:abc/...`). Files in this cache may not have extensions or may have numerical suffixes.
|
| 178 |
+
* Relative paths used in tool URLs (e.g., for download or delete by path) must include this bot token directory structure: `bot<TOKEN>/<category>/<filename_in_cache>`.
|
| 179 |
+
* When downloading files, the application attempts to set correct `Content-Disposition` and `Content-Type` headers for better browser interaction.
|