| 1 | # Подробная инструкция по настройке конфига |
| 2 | |
| 3 | ## Обзор |
| 4 | |
| 5 | Ваше приложение использует **WTelegramClient** для работы с Telegram API, что означает, что оно работает как обычное приложение Telegram, а не как бот. Это требует получения API ключей от Telegram для разработчиков. |
| 6 | |
| 7 | **Конфиг:** предпочтительно **appsettings.toml** — скопируй `appsettings.toml.example` в `appsettings.toml` и заполни секцию `[TelegramSettings]`. Поддерживается и старый формат **appsettings.json**. Оба файла в `.gitignore`. |
| 8 | |
| 9 | ## Структура appsettings.json / appsettings.toml |
| 10 | |
| 11 | Ваш файл `appsettings.json` или `appsettings.toml` должен содержать следующие настройки: |
| 12 | |
| 13 | ```json |
| 14 | { |
| 15 | "TelegramSettings": { |
| 16 | "API_ID": "ваш_api_id", |
| 17 | "API_HASH": "ваш_api_hash", |
| 18 | "AccountPhone": "+7XXXXXXXXXX", |
| 19 | "SessionPathName": "session.session", |
| 20 | "LogFileName": "telegram.log" |
| 21 | } |
| 22 | } |
| 23 | ``` |
| 24 | |
| 25 | ## Пошаговая инструкция получения API ключей |
| 26 | |
| 27 | ### Шаг 1: Регистрация на my.telegram.org |
| 28 | |
| 29 | 1. Откройте браузер и перейдите на сайт [https://my.telegram.org](https://my.telegram.org) |
| 30 | 2. Войдите в свой аккаунт Telegram, используя номер телефона и код подтверждения |
| 31 | 3. Если у вас нет аккаунта Telegram, сначала зарегистрируйтесь в приложении Telegram |
| 32 | |
| 33 | ### Шаг 2: Создание приложения |
| 34 | |
| 35 | 1. После входа в my.telegram.org нажмите на **"API development tools"** |
| 36 | 2. Нажмите **"Create new application"** |
| 37 | 3. Заполните форму: |
| 38 | - **App title**: Название вашего приложения (например, "TelegramNotifier") |
| 39 | - **Short name**: Короткое название (например, "tnotifier") |
| 40 | - **Platform**: Выберите "Desktop" |
| 41 | - **Description**: Описание приложения (например, "Уведомления через Telegram") |
| 42 | - **URL**: Можете оставить пустым или указать URL вашего проекта |
| 43 | 4. Нажмите **"Create application"** |
| 44 | |
| 45 | ### Шаг 3: Получение API ключей |
| 46 | |
| 47 | После создания приложения вы получите: |
| 48 | - **API ID** - числовой идентификатор (например, 12345678) |
| 49 | - **API Hash** - строка из 32 символов (например, "abcdef1234567890abcdef1234567890") |
| 50 | |
| 51 | ### Шаг 4: Настройка appsettings.json |
| 52 | |
| 53 | Замените значения в вашем файле `appsettings.json`: |
| 54 | |
| 55 | ```json |
| 56 | { |
| 57 | "TelegramSettings": { |
| 58 | "API_ID": "12345678", |
| 59 | "API_HASH": "abcdef1234567890abcdef1234567890", |
| 60 | "AccountPhone": "+79123456789", |
| 61 | "SessionPathName": "session.session", |
| 62 | "LogFileName": "telegram.log" |
| 63 | } |
| 64 | } |
| 65 | ``` |
| 66 | |
| 67 | ## Описание параметров |
| 68 | |
| 69 | | Параметр | Описание | Пример | |
| 70 | |----------|----------|---------| |
| 71 | | `API_ID` | ID вашего приложения из my.telegram.org | `12345678` | |
| 72 | | `API_HASH` | Хеш вашего приложения из my.telegram.org | `abcdef1234567890abcdef1234567890` | |
| 73 | | `AccountPhone` | Номер телефона аккаунта Telegram в международном формате | `+79123456789` | |
| 74 | | `SessionPathName` | Имя файла для сохранения сессии (создается автоматически) | `session.session` | |
| 75 | | `LogFileName` | Имя файла для логов | `telegram.log` | |
| 76 | |
| 77 | ## Важные замечания |
| 78 | |
| 79 | ### Безопасность |
| 80 | - **НЕ ДЕЛИТЕСЬ** API_ID и API_HASH с другими людьми |
| 81 | - **НЕ ПУБЛИКУЙТЕ** эти данные в открытом доступе |
| 82 | - Добавьте `appsettings.json` в `.gitignore`, если планируете использовать Git |
| 83 | |
| 84 | ### Первый запуск |
| 85 | При первом запуске приложения: |
| 86 | 1. Вам будет отправлен код подтверждения в Telegram |
| 87 | 2. Введите этот код в консоль |
| 88 | 3. Если включена двухфакторная аутентификация, введите пароль |
| 89 | 4. Сессия сохранится в файл `session.session` |
| 90 | |
| 91 | ### Файл сессии |
| 92 | - Файл `session.session` содержит данные для авторизации |
| 93 | - **НЕ УДАЛЯЙТЕ** этот файл, иначе придется заново проходить авторизацию |
| 94 | - Этот файл привязан к конкретному аккаунту и устройству |
| 95 | |
| 96 | ## Пример готового appsettings.json |
| 97 | |
| 98 | ```json |
| 99 | { |
| 100 | "TelegramSettings": { |
| 101 | "API_ID": "12345678", |
| 102 | "API_HASH": "abcdef1234567890abcdef1234567890", |
| 103 | "AccountPhone": "+79123456789", |
| 104 | "SessionPathName": "session.session", |
| 105 | "LogFileName": "telegram.log" |
| 106 | } |
| 107 | } |
| 108 | ``` |
| 109 | |
| 110 | ## Проверка настройки |
| 111 | |
| 112 | После настройки запустите приложение без параметров для проверки: |
| 113 | |
| 114 | ```bash |
| 115 | ./TelegramNotifier.exe |
| 116 | ``` |
| 117 | |
| 118 | Если настройки корректны, вы увидите инструкцию по использованию приложения. |
| 119 | |
| 120 | ## Устранение проблем |
| 121 | |
| 122 | ### Ошибка "PHONE_NUMBER_INVALID" |
| 123 | - Проверьте формат номера телефона (должен быть с кодом страны, например +7) |
| 124 | - Убедитесь, что номер зарегистрирован в Telegram |
| 125 | |
| 126 | ### Ошибка "API_ID_INVALID" или "API_HASH_INVALID" |
| 127 | - Проверьте правильность скопированных API_ID и API_HASH |
| 128 | - Убедитесь, что приложение создано на my.telegram.org |
| 129 | |
| 130 | ### Ошибка "SESSION_PASSWORD_NEEDED" |
| 131 | - Включена двухфакторная аутентификация |
| 132 | - Введите пароль от аккаунта Telegram |
| 133 | |
| 134 | ## Дополнительная информация |
| 135 | |
| 136 | - API ключи привязаны к вашему аккаунту Telegram |
| 137 | - Один аккаунт может создать несколько приложений |
| 138 | - При удалении приложения на my.telegram.org API ключи станут недействительными |
| 139 | - Для продакшена рекомендуется использовать отдельный аккаунт Telegram |
| 140 | |