Files
telegram-bot/Core/WebhookAspNetProvider.cs
T

41 lines
1.1 KiB
C#
Raw Normal View History

2024-01-28 18:51:18 +03:00
#nullable enable
using BotFramework.Abstractions.UpdateProvider;
using BotFramework.Config;
using Microsoft.Extensions.Options;
using System.Threading;
using System.Threading.Tasks;
using Telegram.Bot;
namespace Kruzya.TelegramBot.Core
{
public class WebhookAspNetProvider : IWebhookProvider
{
private readonly ITelegramBotClient _client;
private readonly BotConfig _config;
private readonly string? _secretToken;
public WebhookAspNetProvider(ITelegramBotClient client, IOptions<BotConfig> config)
{
_client = client;
_config = config.Value;
_secretToken = _config.Webhook.SecretToken;
if (string.IsNullOrWhiteSpace(_secretToken))
{
_secretToken = null;
}
}
public async Task StartAsync(CancellationToken token)
{
await _client.SetWebhook(_config.Webhook.Url, secretToken: _secretToken, cancellationToken: token);
2024-01-28 18:51:18 +03:00
}
public async Task StopAsync(CancellationToken token)
{
await _client.DeleteWebhook(cancellationToken: token);
2024-01-28 18:51:18 +03:00
}
}
}