using Insight.Localizer; using Insight.TelegramBot; using Insight.TelegramBot.Handling.Handlers; using Insight.TelegramBot.Models; using Nocr.TelegramClient.AppServices.Bots.MessageDispatcher; using Telegram.Bot.Types; using Telegram.Bot.Types.Enums; namespace Nocr.TelegramClient.AppServices.Handlers.Messages.StartMessage; public class StartMessageHandler : IMatchingUpdateHandler { private readonly ILocalizer _localizer; private readonly IMessageDispatcherQueue _messageQueue; public StartMessageHandler(ILocalizer localizer, IMessageDispatcherQueue messageQueue) { _localizer = localizer ?? throw new ArgumentNullException(nameof(localizer)); _messageQueue = messageQueue ?? throw new ArgumentNullException(nameof(messageQueue)); } public Task Handle(Update update, CancellationToken cancellationToken = default) { var telegramId = update.Message.From.Id; var message = new TextMessage(telegramId) { Text = _localizer.Get("messages", "StartMessage"), ParseMode = ParseMode.Html }; _messageQueue.Enqueue(message); return Task.CompletedTask; } }