Установка
Введение
На этой странице описано:
требования к окружению
установка TeleFlow через NuGet
базовая настройка токена
выбор способа получения обновлений (Polling / Webhook)
регистрация TeleFlow в DI
минимальный запуск приложения
После выполнения этих шагов вы получите минимально работающего бота.
—
Требования
Перед установкой убедитесь, что у вас есть:
.NET 8 SDK (рекомендуемая версия)
Telegram Bot Token (получается через @BotFather)
(опционально) HTTPS-домен для Webhook режима
Проверить установленную версию .NET:
dotnet --version
—
Установка через NuGet
Создайте новый проект:
dotnet new console -n MyBot
cd MyBot
Добавьте пакет TeleFlow:
dotnet add package TeleFlow
Проверьте, что пакет добавлен:
dotnet list package
—
Настройка токена
Рекомендуемый способ — использовать переменную окружения.
Linux / macOS:
export TELEGRAM_BOT_TOKEN="ВАШ_ТОКЕН"
Windows (PowerShell):
setx TELEGRAM_BOT_TOKEN "ВАШ_ТОКЕН"
—
Минимальная конфигурация (Polling)
Создайте Program.cs:
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.DependencyInjection;
var builder = Host.CreateApplicationBuilder(args);
var token = Environment.GetEnvironmentVariable("TELEGRAM_BOT_TOKEN");
if (string.IsNullOrWhiteSpace(token))
throw new InvalidOperationException("Переменная TELEGRAM_BOT_TOKEN не задана.");
builder.Services.AddTeleFlow(options =>
{
options.BotToken = token;
options.UsePolling();
});
var app = builder.Build();
app.Run();
После запуска бот начнет получать обновления через long polling.
—
Webhook режим
Webhook используется для production-окружения и требует HTTPS.
Пример конфигурации:
builder.Services.AddTeleFlow(options =>
{
options.BotToken = token;
options.UseWebhook(webhook =>
{
webhook.Url = "https://your-domain.com/bot";
webhook.Path = "/bot";
});
});
Важно:
HTTPS обязателен
требуется валидный SSL-сертификат
порт должен быть доступен извне
—
Polling vs Webhook
Polling
проще для разработки
не требует HTTPS
подходит для локального запуска
Webhook
подходит для production
Telegram отправляет обновления напрямую
ниже задержка
лучше масштабируется
—
Регистрация в DI
TeleFlow полностью интегрируется с Microsoft.Extensions.DependencyInjection.
Минимальная регистрация:
builder.Services.AddTeleFlow(options =>
{
options.BotToken = token;
});
Дополнительно можно:
регистрировать свои команды
подключать Interceptors
заменять middleware
настраивать хранилище сессий
—
Проверка работы
После запуска:
Напишите боту /start
Убедитесь, что приложение не падает
Проверьте логи — TeleFlow сообщает о запуске транспорта
Для webhook можно проверить:
curl https://api.telegram.org/bot<ТОКЕН>/getWebhookInfo
—
Типичные проблемы
TELEGRAM_BOT_TOKEN не задан
→ Проверьте переменные окружения.
Webhook не работает
- → Проверьте:
HTTPS
валидность сертификата
открытые порты
правильность URL
Пакет не устанавливается
→ Убедитесь, что используется .NET 8 → Выполните dotnet restore