diff --git a/Directory.Packages.props b/Directory.Packages.props
index 11eb8c4..e28558e 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -7,6 +7,7 @@
+
diff --git a/src/Nocr.TelegramListener.AppServices/UpdateListeners/Handlers/Implementation/NewMessageHandler.cs b/src/Nocr.TelegramListener.AppServices/UpdateListeners/Handlers/Implementation/NewMessageHandler.cs
index d9a4807..5e7e697 100644
--- a/src/Nocr.TelegramListener.AppServices/UpdateListeners/Handlers/Implementation/NewMessageHandler.cs
+++ b/src/Nocr.TelegramListener.AppServices/UpdateListeners/Handlers/Implementation/NewMessageHandler.cs
@@ -28,9 +28,9 @@ public sealed class NewMessageHandler : INewMessageHandler
switch (messageBase)
{
case Message m:
- if (!string.IsNullOrWhiteSpace(m.message))
+ if (string.IsNullOrWhiteSpace(m.message))
break;
-
+
_logger.LogInformation("{From} in {Chat} > {MessageText}",
m.from_id.Peer(_telegramRegistry.Users, _telegramRegistry.Chats) ?? m.post_author,
m.peer_id.Peer(_telegramRegistry.Users, _telegramRegistry.Chats),
@@ -42,7 +42,7 @@ public sealed class NewMessageHandler : INewMessageHandler
Text = m.message,
OccuredDateTime = _dateProvider.UtcNow
};
- await _bus.Publish(@event);
+ await _bus.Advanced.Topics.Publish("nocr.telegram.listener", @event);
break;
case MessageService ms:
_logger.LogInformation("{From} in {Chat} > [{Action}]",
diff --git a/src/Nocr.TelegramListener.Async.Api.Contracts/Nocr.TelegramListener.Async.Api.Contracts.csproj b/src/Nocr.TelegramListener.Async.Api.Contracts/Nocr.TelegramListener.Async.Api.Contracts.csproj
index 17d0997..13da837 100644
--- a/src/Nocr.TelegramListener.Async.Api.Contracts/Nocr.TelegramListener.Async.Api.Contracts.csproj
+++ b/src/Nocr.TelegramListener.Async.Api.Contracts/Nocr.TelegramListener.Async.Api.Contracts.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/Nocr.TelegramListener.Core/Options/RebusRabbitMqOptions.cs b/src/Nocr.TelegramListener.Core/Options/RebusRabbitMqOptions.cs
new file mode 100644
index 0000000..973d15a
--- /dev/null
+++ b/src/Nocr.TelegramListener.Core/Options/RebusRabbitMqOptions.cs
@@ -0,0 +1,12 @@
+namespace Nocr.TelegramListener.Core.Options;
+
+public sealed class RebusRabbitMqOptions
+{
+ public string ConnectionString { get; set; }
+
+ public string InputQueueName { get; set; }
+
+ public string DirectExchangeName { get; set; }
+
+ public string TopicsExchangeName { get; set; }
+}
\ No newline at end of file
diff --git a/src/Nocr.TelegramListener.Host/Infrastructure/HostBuilderFactory.cs b/src/Nocr.TelegramListener.Host/Infrastructure/HostBuilderFactory.cs
index b24882f..d4173c3 100644
--- a/src/Nocr.TelegramListener.Host/Infrastructure/HostBuilderFactory.cs
+++ b/src/Nocr.TelegramListener.Host/Infrastructure/HostBuilderFactory.cs
@@ -12,7 +12,7 @@ public class HostBuilderFactory where TStartup : class
if (!string.IsNullOrWhiteSpace(baseDirectory))
configurationBuilder.SetBasePath(baseDirectory);
- configurationBuilder.AddJsonFile("appsettings.protected.json", false);
+ configurationBuilder.AddJsonFile("appsettings.protected.json", true);
})
.ConfigureWebHostDefaults(host => { host.UseStartup(); })
.UseSerilog((ctx, logBuilder) =>
diff --git a/src/Nocr.TelegramListener.Host/Infrastructure/Startup.cs b/src/Nocr.TelegramListener.Host/Infrastructure/Startup.cs
index 02b9a97..e4c499d 100644
--- a/src/Nocr.TelegramListener.Host/Infrastructure/Startup.cs
+++ b/src/Nocr.TelegramListener.Host/Infrastructure/Startup.cs
@@ -2,6 +2,7 @@ using Microsoft.Extensions.Options;
using Nocr.TelegramListener.AppServices;
using Nocr.TelegramListener.Async.Api.Contracts.Events;
using Nocr.TelegramListener.Core.Dates;
+using Nocr.TelegramListener.Core.Options;
using Rebus.Config;
using Rebus.Routing.TypeBased;
using Rebus.Serialization.Json;
@@ -25,22 +26,18 @@ public class Startup
services.Configure(Configuration.GetSection(nameof(RebusRabbitMqOptions)));
services.AddRebus((builder, ctx) =>
builder.Transport(t =>
- t.UseRabbitMq(ctx.GetRequiredService>().Value.ConnectionString,
- ctx.GetRequiredService>().Value.InputQueueName)
+ {
+ var rebusOptions = ctx.GetRequiredService>().Value;
+ t.UseRabbitMq(rebusOptions.ConnectionString, rebusOptions.InputQueueName)
.DefaultQueueOptions(queue => queue.SetDurable(true))
- .ExchangeNames("nocr.direct", "nocr.topics"))
+ .ExchangeNames(rebusOptions.DirectExchangeName, rebusOptions.TopicsExchangeName);
+ })
.Serialization(s => s.UseSystemTextJson())
- .Logging(l => l.Serilog()));
+ .Logging(l => l.Serilog())
+ .Routing(r => r.TypeBased()));
}
public void Configure(IApplicationBuilder app)
{
}
-
- public sealed class RebusRabbitMqOptions
- {
- public string ConnectionString { get; set; }
-
- public string InputQueueName { get; set; }
- }
}
\ No newline at end of file
diff --git a/src/Nocr.TelegramListener.Host/Nocr.TelegramListener.Host.csproj b/src/Nocr.TelegramListener.Host/Nocr.TelegramListener.Host.csproj
index c046fd2..b7c06e2 100644
--- a/src/Nocr.TelegramListener.Host/Nocr.TelegramListener.Host.csproj
+++ b/src/Nocr.TelegramListener.Host/Nocr.TelegramListener.Host.csproj
@@ -9,7 +9,6 @@
-
diff --git a/src/Nocr.TelegramListener.Host/appsettings.json b/src/Nocr.TelegramListener.Host/appsettings.json
index 06b4ea8..a2dcbf1 100644
--- a/src/Nocr.TelegramListener.Host/appsettings.json
+++ b/src/Nocr.TelegramListener.Host/appsettings.json
@@ -10,6 +10,8 @@
}
},
"RebusRabbitMqOptions": {
- "InputQueueName": "nocr.telegram.listener.queue"
+ "InputQueueName": "nocr.telegram.listener.queue",
+ "DirectExchangeName": "nocr.direct",
+ "TopicsExchangeName": "nocr.topics"
}
}