Reviewed-on: #4 Co-authored-by: Sergey Nazarov <insight.appdev@gmail.com> Co-committed-by: Sergey Nazarov <insight.appdev@gmail.com>
34 lines
1.2 KiB
C#
34 lines
1.2 KiB
C#
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<StartMessageMatcher>
|
|
{
|
|
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;
|
|
}
|
|
} |