Burtimax.TelegramBot.MultipleBotFramework
2.1.0
dotnet add package Burtimax.TelegramBot.MultipleBotFramework --version 2.1.0
NuGet\Install-Package Burtimax.TelegramBot.MultipleBotFramework -Version 2.1.0
<PackageReference Include="Burtimax.TelegramBot.MultipleBotFramework" Version="2.1.0" />
<PackageVersion Include="Burtimax.TelegramBot.MultipleBotFramework" Version="2.1.0" />
<PackageReference Include="Burtimax.TelegramBot.MultipleBotFramework" />
paket add Burtimax.TelegramBot.MultipleBotFramework --version 2.1.0
#r "nuget: Burtimax.TelegramBot.MultipleBotFramework, 2.1.0"
#addin nuget:?package=Burtimax.TelegramBot.MultipleBotFramework&version=2.1.0
#tool nuget:?package=Burtimax.TelegramBot.MultipleBotFramework&version=2.1.0
MultipleBotFramework
Фреймворк для создания Telegram ботов с поддержкой множества функций и возможностей.
Описание
MultipleBotFramework - это мощный фреймворк для разработки Telegram ботов на .NET 8.0. Он предоставляет готовую инфраструктуру для создания масштабируемых и функциональных ботов с поддержкой множества пользователей, ролей и прав доступа.
Основные возможности
🔐 Многопользовательский режим
- Система ролей и прав доступа
- Управление пользователями
- Claims-based авторизация
🌐 Локализация
- Встроенная поддержка русского языка
- Возможность добавления новых языков
- Ресурсы для локализации
📊 Работа с данными
- Entity Framework Core 8.0
- PostgreSQL
- Repository pattern
- Миграции базы данных
⏰ Планировщик задач
- Quartz.NET интеграция
- Планирование периодических задач
- Управление задачами
🛠 Архитектура
- Модульная структура
- Dependency Injection
- Middleware поддержка
- Расширяемая архитектура
Технологический стек
- .NET 8.0
- Entity Framework Core 8.0.8
- PostgreSQL
- Telegram.BotAPI 8.3.0
- Quartz.NET 3.13.1
- Microsoft.AspNetCore.Mvc.Core
- Newtonsoft.Json
Установка
- Установите пакет через NuGet:
dotnet add package Burtimax.TelegramBot.MultipleBotFramework
- Добавьте необходимые сервисы в
Program.cs
:
builder.Services.AddMultipleBotFramework(options => {
// Настройка фреймворка
});
Структура проекта
MultipleBotFramework/
├── Attributes/ # Атрибуты для валидации и авторизации
├── Base/ # Базовые классы и интерфейсы
├── BotHandlers/ # Обработчики сообщений бота
├── Constants/ # Константы и конфигурация
├── Db/ # Контекст базы данных и миграции
├── Dispatcher/ # Диспетчер сообщений
├── Dto/ # Объекты передачи данных
├── Enums/ # Перечисления
├── Exceptions/ # Пользовательские исключения
├── Extensions/ # Расширения для существующих классов
├── Filters/ # Фильтры для обработки запросов
├── Middleware/ # Промежуточное ПО
├── Models/ # Модели данных
├── Options/ # Настройки приложения
├── Quartz/ # Планировщик задач
├── Repository/ # Репозитории для работы с данными
├── Resources/ # Ресурсы (локализация)
├── Services/ # Бизнес-логика
└── Utils/ # Вспомогательные утилиты
Использование
Базовая настройка бота
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMultipleBotFramework(options => {
options.BotToken = "YOUR_BOT_TOKEN";
options.DatabaseConnection = "YOUR_CONNECTION_STRING";
});
}
}
Создание обработчика сообщений
public class MessageHandler : IBotMessageHandler
{
public async Task HandleMessage(Message message)
{
// Обработка сообщения
}
}
Настройка планировщика задач
services.AddQuartz(q => {
q.UseMicrosoftDependencyInjectionJobFactory();
// Настройка задач
});
Локализация
Фреймворк поддерживает локализацию через ресурсы. Ресурсы находятся в директории Resources/Localization/
.
Безопасность
- Встроенная система ролей и прав
- Claims-based авторизация
- Валидация входных данных
- Безопасное хранение конфиденциальных данных
Лицензия
MIT License
Поддержка
При возникновении вопросов или проблем, создайте issue в репозитории проекта.
Авторы
- Burtimax
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- Microsoft.AspNetCore.Http (>= 2.2.2)
- Microsoft.AspNetCore.Localization (>= 2.3.0)
- Microsoft.AspNetCore.Mvc.Core (>= 2.2.5)
- Microsoft.EntityFrameworkCore (>= 8.0.8)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.8)
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 8.0.2)
- Quartz (>= 3.13.1)
- Quartz.Extensions.DependencyInjection (>= 3.13.1)
- Quartz.Extensions.Hosting (>= 3.13.1)
- Telegram.BotAPI (>= 8.3.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Burtimax.TelegramBot.MultipleBotFramework:
Package | Downloads |
---|---|
Burtimax.TelegramBot.MultipleBotFramework.Endpoints
Эндпоинты для телеграм бота. |
GitHub repositories
This package is not used by any popular GitHub repositories.