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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Burtimax.TelegramBot.MultipleBotFramework" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Burtimax.TelegramBot.MultipleBotFramework" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Burtimax.TelegramBot.MultipleBotFramework" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Burtimax.TelegramBot.MultipleBotFramework --version 2.1.0
                    
#r "nuget: Burtimax.TelegramBot.MultipleBotFramework, 2.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Burtimax.TelegramBot.MultipleBotFramework&version=2.1.0
                    
Install Burtimax.TelegramBot.MultipleBotFramework as a Cake Addin
#tool nuget:?package=Burtimax.TelegramBot.MultipleBotFramework&version=2.1.0
                    
Install Burtimax.TelegramBot.MultipleBotFramework as a Cake Tool

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

Установка

  1. Установите пакет через NuGet:
dotnet add package Burtimax.TelegramBot.MultipleBotFramework
  1. Добавьте необходимые сервисы в 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.

Version Downloads Last updated
2.1.0 134 8 days ago
2.0.1 81 11 days ago
2.0.0 66 11 days ago
1.0.4 125 7 months ago
1.0.3 119 8 months ago
1.0.2 123 8 months ago
1.0.1 113 8 months ago
1.0.0 107 8 months ago