Search Results for

    Show / Hide Table of Contents

    Introduction

    Nuget package TelegramModularFramework

    Quick start

    Project Creation

    Services

    Framework uses .NET Generic Host

    var host = Host.CreateDefaultBuilder(args); 
    
    <services init>
    
    await host.RunAsync();
    

    Asp Net host can be used too with builder.Host
    To add framework to host configure it with:

    • ConfigureTelegramBotHost
      Used to add basics services add start receiving updates and routing events with TelegramBotEvents
    host.ConfigureTelegramBotHost((context, c) =>
    {
        c.TelegramBotClientOptions = new TelegramBotClientOptions(context.Configuration["Telegram:Token"]);
    })
    
    • AddTelegramModulesService
      Used to add Modules and process updates
    host.AddTelegramModulesService((context, c) => {
        // Configuration
    })
    

    To add modules, set bot commands, handle post execution you need to create Hosted Service

    public class TelegramHandler: BackgroundService
    {
        private readonly TelegramBotEvents _events;
        private readonly ILogger<TelegramHandler> _logger;
        private readonly TelegramModulesService _modulesService;
    
        public TelegramHandler(TelegramBotEvents events, ILogger<TelegramHandler> logger, TelegramModulesService modulesService)
        {
            _events = events;
            _logger = logger;
            _modulesService = modulesService;
        }
        
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            _events.OnUpdate += _modulesService.HandleUpdateAsync;
            _modulesService.AddModules();
            await _modulesService.SetMyCommands();
        }
    }
    
    host.ConfigureServices(services =>
    {
        services.AddHostedService<TelegramHandler>();
    });
    

    For more examples see SimpleBot guide and samples

    Samples

    • Commands, actions, stages and callbacks
    • Improve this Doc
    ☀
    ☾
    In This Article
    Back to top
    TelegramModularFramework (c) 2022-2022
    ☀
    ☾