diff --git a/Utilities/LibMatrix.Utilities.Bot/BotCommandInstaller.cs b/Utilities/LibMatrix.Utilities.Bot/BotCommandInstaller.cs
index 4947394..56ceb65 100644
--- a/Utilities/LibMatrix.Utilities.Bot/BotCommandInstaller.cs
+++ b/Utilities/LibMatrix.Utilities.Bot/BotCommandInstaller.cs
@@ -32,7 +32,7 @@ public class BotInstaller(IServiceCollection services) {
if (!string.IsNullOrWhiteSpace(config.AccessTokenPath)) {
var token = File.ReadAllText(config.AccessTokenPath);
- config.AccessToken = token;
+ config.AccessToken = token.Trim();
}
var hs = hsProvider.GetAuthenticatedWithToken(config.Homeserver, config.AccessToken).Result;
diff --git a/Utilities/LibMatrix.Utilities.Bot/Services/CommandListenerHostedService.cs b/Utilities/LibMatrix.Utilities.Bot/Services/CommandListenerHostedService.cs
index d07090f..f9b46d2 100644
--- a/Utilities/LibMatrix.Utilities.Bot/Services/CommandListenerHostedService.cs
+++ b/Utilities/LibMatrix.Utilities.Bot/Services/CommandListenerHostedService.cs
@@ -19,6 +19,7 @@ public class CommandListenerHostedService : IHostedService {
private readonly Func<CommandResult, Task>? _commandResultHandler;
private Task? _listenerTask;
+ private CancellationTokenSource _cts = new();
public CommandListenerHostedService(AuthenticatedHomeserverGeneric hs, ILogger<CommandListenerHostedService> logger, IServiceProvider services,
LibMatrixBotConfiguration config, Func<CommandResult, Task>? commandResultHandler = null) {
@@ -35,7 +36,7 @@ public class CommandListenerHostedService : IHostedService {
/// <summary>Triggered when the application host is ready to start the service.</summary>
/// <param name="cancellationToken">Indicates that the start process has been aborted.</param>
public Task StartAsync(CancellationToken cancellationToken) {
- _listenerTask = Run(cancellationToken);
+ _listenerTask = Run(_cts.Token);
_logger.LogInformation("Command listener started (StartAsync)!");
return Task.CompletedTask;
}
@@ -54,7 +55,7 @@ public class CommandListenerHostedService : IHostedService {
});
var syncHelper = new SyncHelper(_hs, _logger) {
- Timeout = 300_000,
+ Timeout = 30_000,
FilterId = filter
};
@@ -96,7 +97,7 @@ public class CommandListenerHostedService : IHostedService {
}
});
- await syncHelper.RunSyncLoopAsync(cancellationToken: cancellationToken);
+ await syncHelper.RunSyncLoopAsync(cancellationToken: _cts.Token);
}
/// <summary>Triggered when the application host is performing a graceful shutdown.</summary>
@@ -108,7 +109,7 @@ public class CommandListenerHostedService : IHostedService {
return;
}
- await _listenerTask.WaitAsync(cancellationToken);
+ await _cts.CancelAsync();
}
private async Task<string?> GetUsedPrefix(StateEventResponse evt) {
|