Fixed all warnings.
This commit is contained in:
parent
ea27d8d448
commit
dd7bfb1f87
@ -11,9 +11,9 @@
|
||||
<PackageVersion Include="Insight.Localizer" Version="1.1.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Label="Nocr">
|
||||
<PackageVersion Include="Nocr.TextMatcher.Api.Contracts" />
|
||||
<PackageVersion Include="Nocr.TextMatcher.Async.Api.Contracts" />
|
||||
<PackageVersion Include="Nocr.Users.Api.Contracts" />
|
||||
<PackageVersion Include="Nocr.TextMatcher.Api.Contracts" Version="0.6.2" />
|
||||
<PackageVersion Include="Nocr.TextMatcher.Async.Api.Contracts" Version="0.6.2" />
|
||||
<PackageVersion Include="Nocr.Users.Api.Contracts" Version="0.6.2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Label="Rebus">
|
||||
<PackageVersion Include="Rebus" Version="8.2.2" />
|
||||
|
||||
@ -28,6 +28,12 @@ public abstract class StartHandlerBase
|
||||
|
||||
public async Task Handle(Update update, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.Message?.From is null || update.CallbackQuery?.Message is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить пользовательский колбэк.\n{@Update}", update);
|
||||
return;
|
||||
}
|
||||
|
||||
long telegramId;
|
||||
switch (update.Type)
|
||||
{
|
||||
|
||||
@ -14,6 +14,7 @@ namespace Nocr.TelegramClient.AppServices.Handlers.CallbackQueries.ActivateSubsc
|
||||
|
||||
public class ActivateSubscriptionHandler : ViewSubscriptionHandlerBase, IMatchingUpdateHandler<ActivateSubscriptionMatcher>
|
||||
{
|
||||
private readonly ILogger<ActivateSubscriptionHandler> _logger;
|
||||
public ActivateSubscriptionHandler(ILogger<ActivateSubscriptionHandler> logger,
|
||||
ILocalizer localizer,
|
||||
IMessageDispatcherQueue messageQueue,
|
||||
@ -22,18 +23,25 @@ public class ActivateSubscriptionHandler : ViewSubscriptionHandlerBase, IMatchin
|
||||
ITextSubscriptionsController subscriptionsController)
|
||||
: base(logger, localizer, messageQueue, bot, usersService, subscriptionsController)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task Handle(Update update, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.CallbackQuery is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить пользовательский колбэк.\n{@Update}", update);
|
||||
return;
|
||||
}
|
||||
|
||||
var callbackData = NocrCallbackData.Parse(update.CallbackQuery.Data);
|
||||
var from = update.CallbackQuery.From.Id;
|
||||
|
||||
if (callbackData.Args.Count != 1 || !long.TryParse(callbackData.Args.First(), out var subscriptionId))
|
||||
{
|
||||
Logger.LogWarning(
|
||||
"Не удалось извлечь идентификатор подписки. CallbackData: {@CallbackData}, ChatId: {ChatId}, MessageId {MessageId}",
|
||||
callbackData, from, update.CallbackQuery.Message.Chat.Id);
|
||||
_logger.LogWarning(
|
||||
"Не удалось извлечь идентификатор подписки. CallbackData: {@CallbackData}, ChatId: {ChatId}, MessageId {MessageId}.",
|
||||
callbackData, from, update.CallbackQuery?.Message?.Chat.Id);
|
||||
SendErrorMessage(from);
|
||||
return;
|
||||
}
|
||||
@ -44,11 +52,17 @@ public class ActivateSubscriptionHandler : ViewSubscriptionHandlerBase, IMatchin
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.LogError(ex, "Не удалось деактивировать подписку");
|
||||
_logger.LogError(ex, "Не удалось деактивировать подписку.");
|
||||
SendErrorMessage(from);
|
||||
throw;
|
||||
}
|
||||
|
||||
if (update.CallbackQuery.Message is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить идентификатор сообщения из пользовательского колбэка.\n{@CallbackQuery}", update.CallbackQuery);
|
||||
return;
|
||||
}
|
||||
|
||||
await EditSubscriptionMessage(from, update.CallbackQuery.Message.MessageId, subscriptionId,
|
||||
CancellationToken.None);
|
||||
}
|
||||
|
||||
@ -27,6 +27,12 @@ public sealed class AddSubscriptionHandler : IMatchingUpdateHandler<AddSubscript
|
||||
|
||||
public async Task Handle(Update update, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.CallbackQuery?.Message is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить пользовательский колбэк.\n{@Update}", update);
|
||||
return;
|
||||
}
|
||||
|
||||
var chatId = update.CallbackQuery.Message.Chat.Id;
|
||||
var messageId = update.CallbackQuery.Message.MessageId;
|
||||
|
||||
|
||||
@ -15,25 +15,32 @@ namespace Nocr.TelegramClient.AppServices.Handlers.CallbackQueries.DeactivateSub
|
||||
public class DeactivateSubscriptionHandler : ViewSubscriptionHandlerBase,
|
||||
IMatchingUpdateHandler<DeactivateSubscriptionMatcher>
|
||||
{
|
||||
|
||||
private readonly ILogger<DeactivateSubscriptionHandler> _logger;
|
||||
public DeactivateSubscriptionHandler(ILogger<DeactivateSubscriptionHandler> logger,
|
||||
ILocalizer localizer,
|
||||
IMessageDispatcherQueue messageQueue,
|
||||
IBot bot,
|
||||
IBot bot,
|
||||
IUsersService usersService,
|
||||
ITextSubscriptionsController subscriptionsController)
|
||||
ITextSubscriptionsController subscriptionsController)
|
||||
: base(logger, localizer, messageQueue, bot, usersService, subscriptionsController)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task Handle(Update update, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.CallbackQuery?.Message is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить пользовательский колбэк.\n{@Update}", update);
|
||||
return;
|
||||
}
|
||||
|
||||
var callbackData = NocrCallbackData.Parse(update.CallbackQuery.Data);
|
||||
var from = update.CallbackQuery.From.Id;
|
||||
|
||||
if (callbackData.Args.Count != 1 || !long.TryParse(callbackData.Args.First(), out var subscriptionId))
|
||||
{
|
||||
Logger.LogWarning(
|
||||
_logger.LogWarning(
|
||||
"Не удалось извлечь идентификатор подписки. CallbackData: {@CallbackData}, ChatId: {ChatId}, MessageId {MessageId}",
|
||||
callbackData, from, update.CallbackQuery.Message.Chat.Id);
|
||||
SendErrorMessage(from);
|
||||
@ -46,7 +53,7 @@ public class DeactivateSubscriptionHandler : ViewSubscriptionHandlerBase,
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.LogError(ex, "Не удалось деактивировать подписку");
|
||||
_logger.LogError(ex, "Не удалось деактивировать подписку");
|
||||
SendErrorMessage(from);
|
||||
throw;
|
||||
}
|
||||
|
||||
@ -18,6 +18,7 @@ namespace Nocr.TelegramClient.AppServices.Handlers.CallbackQueries.DeleteSubscri
|
||||
public class DeleteSubscriptionHandler : ViewSubscriptionHandlerBase,
|
||||
IMatchingUpdateHandler<DeleteSubscriptionMatcher>
|
||||
{
|
||||
private readonly ILogger<DeleteSubscriptionHandler> _logger;
|
||||
public DeleteSubscriptionHandler(ILogger<DeleteSubscriptionHandler> logger,
|
||||
ILocalizer localizer,
|
||||
IMessageDispatcherQueue messageQueue,
|
||||
@ -26,16 +27,23 @@ public class DeleteSubscriptionHandler : ViewSubscriptionHandlerBase,
|
||||
ITextSubscriptionsController subscriptionsController)
|
||||
: base(logger, localizer, messageQueue, bot, usersService, subscriptionsController)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task Handle(Update update, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.CallbackQuery?.Message is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить пользовательский колбэк.\n{@Update}", update);
|
||||
return;
|
||||
}
|
||||
|
||||
var callbackData = NocrCallbackData.Parse(update.CallbackQuery.Data);
|
||||
var from = update.CallbackQuery.From.Id;
|
||||
|
||||
if (callbackData.Args.Count != 1 || !long.TryParse(callbackData.Args.First(), out var subscriptionId))
|
||||
{
|
||||
Logger.LogWarning(
|
||||
_logger.LogWarning(
|
||||
"Не удалось извлечь идентификатор подписки. CallbackData: {@CallbackData}, ChatId: {ChatId}, MessageId {MessageId}",
|
||||
callbackData, from, update.CallbackQuery.Message.Chat.Id);
|
||||
SendErrorMessage(from);
|
||||
@ -48,7 +56,7 @@ public class DeleteSubscriptionHandler : ViewSubscriptionHandlerBase,
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Logger.LogError(ex, "Не удалось удалить подписку");
|
||||
_logger.LogError(ex, "Не удалось удалить подписку.");
|
||||
SendErrorMessage(from);
|
||||
throw;
|
||||
}
|
||||
|
||||
@ -24,6 +24,12 @@ public class FeedbackHandler : IMatchingUpdateHandler<FeedbackMatcher>
|
||||
|
||||
public Task Handle(Update update, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.CallbackQuery?.Message is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить идентификатор сообщения из пользовательского колбэка.\n{@CallbackQuery}", update.CallbackQuery);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
// TODO: Check, that other messages sent to chat, no to one, who clicks
|
||||
var message = new TextMessage(update.CallbackQuery.Message.Chat.Id)
|
||||
{
|
||||
|
||||
@ -13,6 +13,7 @@ namespace Nocr.TelegramClient.AppServices.Handlers.CallbackQueries.ViewSubscript
|
||||
|
||||
public class ViewSubscriptionHandler : ViewSubscriptionHandlerBase, IMatchingUpdateHandler<ViewSubscriptionMatcher>
|
||||
{
|
||||
private readonly ILogger<ViewSubscriptionHandler> _logger;
|
||||
public ViewSubscriptionHandler(ILogger<ViewSubscriptionHandler> logger,
|
||||
ILocalizer localizer,
|
||||
IMessageDispatcherQueue messageQueue,
|
||||
@ -21,10 +22,17 @@ public class ViewSubscriptionHandler : ViewSubscriptionHandlerBase, IMatchingUpd
|
||||
ITextSubscriptionsController subscriptionsController) :
|
||||
base(logger, localizer, messageQueue, bot, usersService, subscriptionsController)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task Handle(Update update, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.CallbackQuery?.Message is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить пользовательский колбэк.\n{@Update}", update);
|
||||
return;
|
||||
}
|
||||
|
||||
var callbackData = NocrCallbackData.Parse(update.CallbackQuery.Data);
|
||||
var from = update.CallbackQuery.From.Id;
|
||||
|
||||
|
||||
@ -32,12 +32,18 @@ public sealed class FeedbackMessageHandler : IMatchingUpdateHandler<FeedbackMess
|
||||
|
||||
public Task Handle(Update update, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.Message?.Text is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить пользовательское сообщение.\n{@Update}", update);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
var from = update.Message.From;
|
||||
var feedbackText = update.Message.Text
|
||||
.Replace("/feedback", string.Empty)
|
||||
.Trim(' ');
|
||||
|
||||
var message = new TextMessage(from.Id)
|
||||
var message = new TextMessage(from?.Id)
|
||||
{
|
||||
Text = _localizer.Get(nameof(FeedbackMessageHandler), "Text"),
|
||||
ReplyMarkup = new InlineKeyboardMarkup(new InlineKeyboardButton(_localizer.Get("buttons", "back"))
|
||||
@ -55,8 +61,8 @@ public sealed class FeedbackMessageHandler : IMatchingUpdateHandler<FeedbackMess
|
||||
Text = _localizer.Get(nameof(FeedbackMessageHandler), "FeedbackText")
|
||||
.FormatWith(new
|
||||
{
|
||||
FromId = from.Id,
|
||||
FromUsername = string.IsNullOrWhiteSpace(from.Username) ? "anonymous" : $"@{from.Username}",
|
||||
FromId = from?.Id,
|
||||
FromUsername = string.IsNullOrWhiteSpace(from?.Username) ? "anonymous" : $"@{from.Username}",
|
||||
Text = feedbackText
|
||||
})
|
||||
};
|
||||
|
||||
@ -16,14 +16,22 @@ namespace Nocr.TelegramClient.AppServices.Handlers.Messages.SubscribeExactMessag
|
||||
|
||||
public abstract class SubscribeHandlerBase : ViewSubscriptionHandlerBase
|
||||
{
|
||||
protected SubscribeHandlerBase(ILogger logger, ILocalizer localizer, IMessageDispatcherQueue messageQueue, IBot bot,
|
||||
private readonly ILogger<SubscribeHandlerBase> _logger;
|
||||
protected SubscribeHandlerBase(ILogger<SubscribeHandlerBase> logger, ILocalizer localizer, IMessageDispatcherQueue messageQueue, IBot bot,
|
||||
IUsersService usersService, ITextSubscriptionsController subscriptionsController)
|
||||
: base(logger, localizer, messageQueue, bot, usersService, subscriptionsController)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
protected async Task Handle(Update update, Regex regex, TextSubscriptionRule rule, CancellationToken cancellationToken = default)
|
||||
{
|
||||
if (update.Message?.Text is null || update.Message?.From is null)
|
||||
{
|
||||
_logger.LogError("Не удалось выделить пользовательское сообщение.\n{@Update}", update);
|
||||
return;
|
||||
}
|
||||
|
||||
var receiverId = update.Message.Chat.Id;
|
||||
|
||||
var match = regex.Match(update.Message.Text);
|
||||
|
||||
@ -18,6 +18,7 @@ public sealed class UsersService : IUsersService
|
||||
{
|
||||
var user = await _usersController.GetByIdentity(UserIdentityType.TelegramId, telegramId.ToString(),
|
||||
cancellationToken);
|
||||
|
||||
if (user == null)
|
||||
{
|
||||
await _usersController.Create(new CreateUserRequest
|
||||
@ -31,7 +32,7 @@ public sealed class UsersService : IUsersService
|
||||
cancellationToken);
|
||||
}
|
||||
|
||||
return user;
|
||||
return user ?? throw new InvalidOperationException($"Failed to create or retrieve user with telegramId {telegramId}");
|
||||
}
|
||||
|
||||
public Task<UserData?> GetByIdentity(long telegramId, CancellationToken cancellationToken = default)
|
||||
|
||||
@ -2,11 +2,11 @@ namespace Nocr.TelegramClient.Core.Options;
|
||||
|
||||
public sealed class RebusRabbitMqOptions
|
||||
{
|
||||
public string ConnectionString { get; set; }
|
||||
public required string ConnectionString { get; set; }
|
||||
|
||||
public string InputQueueName { get; set; }
|
||||
public required string InputQueueName { get; set; }
|
||||
|
||||
public string DirectExchangeName { get; set; }
|
||||
public required string DirectExchangeName { get; set; }
|
||||
|
||||
public string TopicsExchangeName { get; set; }
|
||||
public required string TopicsExchangeName { get; set; }
|
||||
}
|
||||
@ -2,5 +2,5 @@ namespace Nocr.TelegramClient.Core.Options;
|
||||
|
||||
public class RestEaseOptions
|
||||
{
|
||||
public string BasePath { get; set; }
|
||||
public required string BasePath { get; set; }
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user