about summary refs log tree commit diff
path: root/Utilities/LibMatrix.DevTestBot
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/LibMatrix.DevTestBot')
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/Commands/CmdCommand.cs72
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/Commands/DbgAniRainbowTest.cs53
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/Commands/HelpCommand.cs22
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/Commands/PingCommand.cs24
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/DevTestBot.cs66
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/DevTestBotConfiguration.cs10
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/FileStorageProvider.cs36
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/PingTestBot.cs125
-rw-r--r--Utilities/LibMatrix.DevTestBot/Bot/StartupTasks/ServerRoomSizeCalulator.cs63
-rw-r--r--Utilities/LibMatrix.DevTestBot/LibMatrix.DevTestBot.csproj36
-rw-r--r--Utilities/LibMatrix.DevTestBot/Program.cs24
-rw-r--r--Utilities/LibMatrix.DevTestBot/Properties/launchSettings.json25
-rw-r--r--Utilities/LibMatrix.DevTestBot/appsettings.Development.json9
-rw-r--r--Utilities/LibMatrix.DevTestBot/appsettings.json14
14 files changed, 0 insertions, 579 deletions
diff --git a/Utilities/LibMatrix.DevTestBot/Bot/Commands/CmdCommand.cs b/Utilities/LibMatrix.DevTestBot/Bot/Commands/CmdCommand.cs
deleted file mode 100644

index 874d195..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/Commands/CmdCommand.cs +++ /dev/null
@@ -1,72 +0,0 @@ -using ArcaneLibs.StringNormalisation; -using LibMatrix.EventTypes.Spec; -using LibMatrix.Utilities.Bot.Interfaces; - -namespace LibMatrix.ExampleBot.Bot.Commands; - -public class CmdCommand : ICommand { - public string Name => "cmd"; - public string[]? Aliases => []; - public bool Unlisted => false; - public string Description => "Runs a command on the host system"; - - public Task<bool> CanInvoke(CommandContext ctx) => Task.FromResult(ctx.MessageEvent.Sender.EndsWith(":rory.gay") || ctx.MessageEvent.Sender.EndsWith(":conduit.rory.gay")); - - public async Task Invoke(CommandContext ctx) { - var cmd = ctx.Args.Aggregate("\"", (current, arg) => current + arg + " "); - - cmd = cmd.Trim(); - cmd += "\""; - - await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent(body: $"Command being executed: `{cmd}`")); - - var output = ArcaneLibs.Util.GetCommandOutputAsync( - Environment.OSVersion.Platform == PlatformID.Unix ? "/bin/sh" : "cmd.exe", - (Environment.OSVersion.Platform == PlatformID.Unix ? "-c " : "/c ") + cmd); - // .Replace("`", "\\`") - // .Split("\n").ToList(); - - var msg = ""; - var msgId = await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent { - FormattedBody = $"Waiting for command output...", - Body = msg.RemoveAnsi(), - Format = "m.notice" - }); - - var lastSendTask = Task.CompletedTask; - await foreach (var @out in output) { - Console.WriteLine($"{@out.Length:0000} {@out}"); - msg += @out + "\n"; - if (lastSendTask.IsCompleted) - lastSendTask = ctx.Room.SendMessageEventAsync(new RoomMessageEventContent { - FormattedBody = $"<pre class=\"language-csharp\">\n{msg}\n</pre>", - Body = msg.RemoveAnsi(), - Format = "org.matrix.custom.html" - }); - if (msg.Length > 31000) { - await lastSendTask; - msgId = await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent { - FormattedBody = $"Waiting for command output...", - Body = msg.RemoveAnsi(), - Format = "m.notice" - }); - msg = ""; - } - } - - // while (output.Count > 0) { - // Console.WriteLine("Adding: " + output[0]); - // msg += output[0] + "\n"; - // output.RemoveAt(0); - // if ((output.Count > 0 && (msg + output[0]).Length > 31500) || output.Count == 0) { - // await ctx.Room.SendMessageEventAsync("m.room.message", new RoomMessageEventContent { - // FormattedBody = $"<pre class=\"language-csharp\">\n{msg}\n</pre>", - // // Body = Markdig.Markdown.ToHtml(msg), - // Body = msg.RemoveAnsi(), - // Format = "org.matrix.custom.html" - // }); - // msg = ""; - // } - // } - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Bot/Commands/DbgAniRainbowTest.cs b/Utilities/LibMatrix.DevTestBot/Bot/Commands/DbgAniRainbowTest.cs deleted file mode 100644
index 0dde297..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/Commands/DbgAniRainbowTest.cs +++ /dev/null
@@ -1,53 +0,0 @@ -using System.Diagnostics; -using LibMatrix.EventTypes.Spec; -using LibMatrix.Helpers; -using LibMatrix.Services; -using LibMatrix.Utilities.Bot.Interfaces; - -namespace ModerationBot.Commands; - -public class DbgAniRainbowTest(IServiceProvider services, HomeserverProviderService hsProvider, HomeserverResolverService hsResolver) : ICommand { - public string Name { get; } = "ani-rainbow"; - - public string[]? Aliases => []; - public bool Unlisted => false; - - public string Description { get; } = "[Debug] animated rainbow :)"; - - - public async Task<bool> CanInvoke(CommandContext ctx) => ctx.Room.RoomId == "!hLEefBaYvNfJwcTjmt:rory.gay"; - - public async Task Invoke(CommandContext ctx) { - //255 long string - // var rainbow = "🟥🟧🟨🟩🟦🟪"; - var rainbow = "M"; - var chars = rainbow; - for (var i = 0; i < 76; i++) chars += rainbow[i % rainbow.Length]; - - Task.Run(async () => { - var i = 0; - var msg = new MessageBuilder("m.notice").WithRainbowString(chars).Build(); - var msgEvent = await ctx.Room.SendMessageEventAsync(msg); - - while (true) { - msg = new MessageBuilder("m.notice").WithRainbowString(chars, offset: i * 5).Build(); - if (i % 50 == 0) { - msg.NewContent = null; - msg.RelatesTo = null; - msgEvent = await ctx.Room.SendMessageEventAsync(msg); - } - else { - msg = msg.SetReplaceRelation<RoomMessageEventContent>(msgEvent.EventId); - msg.Body = ""; - msg.FormattedBody = ""; - } - - var sw = Stopwatch.StartNew(); - await - ctx.Room.SendMessageEventAsync(msg); - await Task.Delay(sw.Elapsed); - i++; - } - }); - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Bot/Commands/HelpCommand.cs b/Utilities/LibMatrix.DevTestBot/Bot/Commands/HelpCommand.cs deleted file mode 100644
index 33bbc5a..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/Commands/HelpCommand.cs +++ /dev/null
@@ -1,22 +0,0 @@ -using System.Text; -using LibMatrix.EventTypes.Spec; -using LibMatrix.Utilities.Bot.Interfaces; -using Microsoft.Extensions.DependencyInjection; - -namespace LibMatrix.ExampleBot.Bot.Commands; - -public class HelpCommand(IServiceProvider services) : ICommand { - public string Name { get; } = "help"; - public string[]? Aliases => []; - public bool Unlisted => false; - public string Description { get; } = "Displays this help message"; - - public async Task Invoke(CommandContext ctx) { - var sb = new StringBuilder(); - sb.AppendLine("Available commands:"); - var commands = services.GetServices<ICommand>().ToList(); - foreach (var command in commands) sb.AppendLine($"- {command.Name}: {command.Description}"); - - await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent(body: sb.ToString())); - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Bot/Commands/PingCommand.cs b/Utilities/LibMatrix.DevTestBot/Bot/Commands/PingCommand.cs deleted file mode 100644
index 350d89e..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/Commands/PingCommand.cs +++ /dev/null
@@ -1,24 +0,0 @@ -using LibMatrix.EventTypes.Spec; -using LibMatrix.Utilities.Bot.Interfaces; - -namespace LibMatrix.ExampleBot.Bot.Commands; - -public class PingCommand : ICommand { - public string Name { get; } = "do-ping"; - public string[]? Aliases => []; - public bool Unlisted => false; - public string Description { get; } = "Pong!"; - - // public async Task Invoke(CommandContext ctx) => await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent(body: "pong!")); - public async Task Invoke(CommandContext ctx) { - // await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent(body: "pong!")); - var count = ctx.Args.Length > 0 ? int.Parse(ctx.Args[0]) : 1; - var tasks = Enumerable.Range(0, count).Select(async i => { - await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent(body: $"!ping {i}", messageType: "m.text")); - await Task.Delay(1000); - }).ToList(); - await Task.WhenAll(tasks); - - await ctx.Room.SendMessageEventAsync(new RoomMessageEventContent(body: "Pong!")); - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Bot/DevTestBot.cs b/Utilities/LibMatrix.DevTestBot/Bot/DevTestBot.cs deleted file mode 100644
index da4522e..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/DevTestBot.cs +++ /dev/null
@@ -1,66 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using ArcaneLibs.Extensions; -using LibMatrix.EventTypes.Spec; -using LibMatrix.EventTypes.Spec.State.RoomInfo; -using LibMatrix.Helpers; -using LibMatrix.Homeservers; -using LibMatrix.Services; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; - -namespace LibMatrix.ExampleBot.Bot; - -public class DevTestBot : IHostedService { - private readonly HomeserverProviderService _homeserverProviderService; - private readonly ILogger<DevTestBot> _logger; - private readonly DevTestBotConfiguration _configuration; - - public DevTestBot(HomeserverProviderService homeserverProviderService, ILogger<DevTestBot> logger, - DevTestBotConfiguration configuration) { - logger.LogInformation("{} instantiated!", GetType().Name); - _homeserverProviderService = homeserverProviderService; - _logger = logger; - _configuration = configuration; - } - - /// <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> - [SuppressMessage("ReSharper", "FunctionNeverReturns")] - public async Task StartAsync(CancellationToken cancellationToken) { - // Directory.GetFiles("bot_data/cache").ToList().ForEach(File.Delete); - AuthenticatedHomeserverGeneric hs; - try { - hs = await _homeserverProviderService.GetAuthenticatedWithToken(_configuration.Homeserver, - _configuration.AccessToken); - } - catch (Exception e) { - _logger.LogError("{}", e.Message); - throw; - } - - var msg = new MessageBuilder().WithRainbowString("Meanwhile, I'm sitting here, still struggling with trying to rainbow. ^^'").Build(); - var res = await hs.ResolveRoomAliasAsync("#watercooler:maunium.net"); - - var syncHelper = new SyncHelper(hs); - - await hs.GetRoom("!DoHEdFablOLjddKWIp:rory.gay").JoinAsync(); - - // foreach (var room in await hs.GetJoinedRooms()) { - // if(room.RoomId is "!OGEhHVWSdvArJzumhm:matrix.org") continue; - // foreach (var stateEvent in await room.GetStateAsync<List<MatrixEvent>>("")) { - // var _ = stateEvent.GetType; - // } - // _logger.LogInformation($"Got room state for {room.RoomId}!"); - // } - - await syncHelper.RunSyncLoopAsync(cancellationToken: cancellationToken); - } - - /// <summary>Triggered when the application host is performing a graceful shutdown.</summary> - /// <param name="cancellationToken">Indicates that the shutdown process should no longer be graceful.</param> - public Task StopAsync(CancellationToken cancellationToken) { - _logger.LogInformation("Shutting down bot!"); - return Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Bot/DevTestBotConfiguration.cs b/Utilities/LibMatrix.DevTestBot/Bot/DevTestBotConfiguration.cs deleted file mode 100644
index dcbc670..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/DevTestBotConfiguration.cs +++ /dev/null
@@ -1,10 +0,0 @@ -using Microsoft.Extensions.Configuration; - -namespace LibMatrix.ExampleBot.Bot; - -public class DevTestBotConfiguration { - public DevTestBotConfiguration(IConfiguration config) => config.GetRequiredSection("Bot").Bind(this); - public string Homeserver { get; set; } = ""; - public string AccessToken { get; set; } = ""; - public string Prefix { get; set; } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Bot/FileStorageProvider.cs b/Utilities/LibMatrix.DevTestBot/Bot/FileStorageProvider.cs deleted file mode 100644
index cc866e6..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/FileStorageProvider.cs +++ /dev/null
@@ -1,36 +0,0 @@ -using System.Text.Json; -using ArcaneLibs.Extensions; -using LibMatrix.Interfaces.Services; -using Microsoft.Extensions.Logging; - -namespace LibMatrix.ExampleBot.Bot; - -public class FileStorageProvider : IStorageProvider { - private readonly ILogger<FileStorageProvider> _logger; - - public string TargetPath { get; } - - /// <summary> - /// Creates a new instance of <see cref="FileStorageProvider" />. - /// </summary> - /// <param name="targetPath"></param> - public FileStorageProvider(string targetPath) { - new Logger<FileStorageProvider>(new LoggerFactory()).LogInformation("test"); - Console.WriteLine($"Initialised FileStorageProvider with path {targetPath}"); - TargetPath = targetPath; - if (!Directory.Exists(targetPath)) Directory.CreateDirectory(targetPath); - } - - public async Task SaveObjectAsync<T>(string key, T value) => await File.WriteAllTextAsync(Path.Join(TargetPath, key), value?.ToJson()); - - public async Task<T?> LoadObjectAsync<T>(string key) => JsonSerializer.Deserialize<T>(await File.ReadAllTextAsync(Path.Join(TargetPath, key))); - - public Task<bool> ObjectExistsAsync(string key) => Task.FromResult(File.Exists(Path.Join(TargetPath, key))); - - public Task<List<string>> GetAllKeysAsync() => Task.FromResult(Directory.GetFiles(TargetPath).Select(Path.GetFileName).ToList()); - - public Task DeleteObjectAsync(string key) { - File.Delete(Path.Join(TargetPath, key)); - return Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Bot/PingTestBot.cs b/Utilities/LibMatrix.DevTestBot/Bot/PingTestBot.cs deleted file mode 100644
index 345d755..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/PingTestBot.cs +++ /dev/null
@@ -1,125 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using System.Windows.Input; -using ArcaneLibs.Extensions; -using LibMatrix.EventTypes.Spec; -using LibMatrix.Filters; -using LibMatrix.Helpers; -using LibMatrix.Homeservers; -using LibMatrix.Services; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; - -namespace LibMatrix.ExampleBot.Bot; - -public class PingTestBot : IHostedService { - private readonly HomeserverProviderService _homeserverProviderService; - private readonly ILogger<DevTestBot> _logger; - private readonly DevTestBotConfiguration _configuration; - private readonly IEnumerable<ICommand> _commands; - - public PingTestBot(HomeserverProviderService homeserverProviderService, ILogger<DevTestBot> logger, - DevTestBotConfiguration configuration, IServiceProvider services) { - logger.LogInformation("{} instantiated!", GetType().Name); - _homeserverProviderService = homeserverProviderService; - _logger = logger; - _configuration = configuration; - _logger.LogInformation("Getting commands..."); - _commands = services.GetServices<ICommand>(); - _logger.LogInformation("Got {} commands!", _commands.Count()); - } - - /// <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> - [SuppressMessage("ReSharper", "FunctionNeverReturns")] - public async Task StartAsync(CancellationToken cancellationToken) { - // Directory.GetFiles("bot_data/cache").ToList().ForEach(File.Delete); - AuthenticatedHomeserverGeneric hs; - try { - hs = await _homeserverProviderService.GetAuthenticatedWithToken(_configuration.Homeserver, - _configuration.AccessToken); - } - catch (Exception e) { - _logger.LogError("{}", e.Message); - throw; - } - - var msg = new MessageBuilder().WithRainbowString("Meanwhile, I'm sitting here, still struggling with trying to rainbow. ^^'").Build(); - - var syncHelper = new SyncHelper(hs); - syncHelper.Filter = new SyncFilter { - Room = new SyncFilter.RoomFilter { - Timeline = new SyncFilter.RoomFilter.StateFilter() { - Limit = 1, - Senders = ["@me"] - }, - Rooms = ["!ping-v11:maunium.net"], - AccountData = new(types: []), - IncludeLeave = false - } - }; - - // await hs.GetRoom("!VJwxdebqoQlhGSEncc:codestorm.net").JoinAsync(); - - // foreach (var room in await hs.GetJoinedRooms()) { - // if(room.RoomId is "!OGEhHVWSdvArJzumhm:matrix.org") continue; - // foreach (var stateEvent in await room.GetStateAsync<List<MatrixEvent>>("")) { - // var _ = stateEvent.GetType; - // } - // _logger.LogInformation($"Got room state for {room.RoomId}!"); - // } - - // syncHelper.InviteReceivedHandlers.Add(async Task (args) => { - // var inviteEvent = - // args.Value.InviteState.Events.FirstOrDefault(x => - // x.Type == "m.room.member" && x.StateKey == hs.UserId); - // _logger.LogInformation( - // $"Got invite to {args.Key} by {inviteEvent.Sender} with reason: {(inviteEvent.TypedContent as RoomMemberEventContent).Reason}"); - // if (inviteEvent.Sender.EndsWith(":rory.gay") || inviteEvent.Sender == "@mxidupwitch:the-apothecary.club") - // try { - // var senderProfile = await hs.GetProfileAsync(inviteEvent.Sender); - // await hs.GetRoom(args.Key).JoinAsync(reason: $"I was invited by {senderProfile.DisplayName ?? inviteEvent.Sender}!"); - // } - // catch (Exception e) { - // _logger.LogError("{}", e.ToString()); - // await hs.GetRoom(args.Key).LeaveAsync("I was unable to join the room: " + e); - // } - // }); - // Deprecated, using Bot Utils instead: - // syncHelper.TimelineEventHandlers.Add(async @event => { - // _logger.LogInformation( - // "Got timeline event in {}: {}", @event.RoomId, @event.ToJson(false, true)); - // - // var room = hs.GetRoom(@event.RoomId); - // // _logger.LogInformation(eventResponse.ToJson(indent: false)); - // if (@event is not { Sender: "@emma:rory.gay" }) return; - // if (@event is { Type: "m.room.message", TypedContent: RoomMessageEventContent message }) - // if (message is { MessageType: "m.text" } && message.Body.StartsWith(_configuration.Prefix)) { - // var command = _commands.FirstOrDefault(x => x.Name == message.Body.Split(' ')[0][_configuration.Prefix.Length..]); - // if (command == null) { - // await room.SendMessageEventAsync( - // new RoomMessageEventContent("m.text", "Command not found!")); - // return; - // } - // - // var ctx = new CommandContext { - // Room = room, - // MessageEvent = @event - // }; - // if (await command.CanInvoke(ctx)) - // await command.Invoke(ctx); - // else - // await room.SendMessageEventAsync( - // new RoomMessageEventContent("m.text", "You do not have permission to run this command!")); - // } - // }); - await syncHelper.RunSyncLoopAsync(cancellationToken: cancellationToken); - } - - /// <summary>Triggered when the application host is performing a graceful shutdown.</summary> - /// <param name="cancellationToken">Indicates that the shutdown process should no longer be graceful.</param> - public Task StopAsync(CancellationToken cancellationToken) { - _logger.LogInformation("Shutting down bot!"); - return Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Bot/StartupTasks/ServerRoomSizeCalulator.cs b/Utilities/LibMatrix.DevTestBot/Bot/StartupTasks/ServerRoomSizeCalulator.cs deleted file mode 100644
index 1339f23..0000000 --- a/Utilities/LibMatrix.DevTestBot/Bot/StartupTasks/ServerRoomSizeCalulator.cs +++ /dev/null
@@ -1,63 +0,0 @@ -using System.Diagnostics.CodeAnalysis; -using LibMatrix.Homeservers; -using LibMatrix.Services; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; - -namespace LibMatrix.ExampleBot.Bot.StartupTasks; - -public class ServerRoomSizeCalulator : IHostedService { - private readonly HomeserverProviderService _homeserverProviderService; - private readonly ILogger<ServerRoomSizeCalulator> _logger; - private readonly DevTestBotConfiguration _configuration; - - public ServerRoomSizeCalulator(HomeserverProviderService homeserverProviderService, ILogger<ServerRoomSizeCalulator> logger, - DevTestBotConfiguration configuration) { - logger.LogInformation("Server room size calculator hosted service instantiated!"); - _homeserverProviderService = homeserverProviderService; - _logger = logger; - _configuration = configuration; - } - - /// <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> - [SuppressMessage("ReSharper", "FunctionNeverReturns")] - public async Task StartAsync(CancellationToken cancellationToken) { - Directory.GetFiles("bot_data/cache").ToList().ForEach(File.Delete); - AuthenticatedHomeserverGeneric hs; - try { - hs = await _homeserverProviderService.GetAuthenticatedWithToken(_configuration.Homeserver, - _configuration.AccessToken); - } - catch (Exception e) { - _logger.LogError("{}", e.Message); - throw; - } - - await hs.GetRoom("!DoHEdFablOLjddKWIp:rory.gay").JoinAsync(); - - Dictionary<string, int> totalRoomSize = new(); - foreach (var room in await hs.GetJoinedRooms()) { - var stateList = room.GetFullStateAsync().ToBlockingEnumerable().ToList(); - var roomSize = stateList.Count; - if (roomSize > 10000) await File.AppendAllLinesAsync("large_rooms.txt", new[] { $"{{ \"{room.RoomId}\", {roomSize} }}," }, cancellationToken); - - var roomHs = await room.GetOriginHomeserverAsync(); - if (totalRoomSize.ContainsKey(roomHs)) - totalRoomSize[roomHs] += roomSize; - else - totalRoomSize.Add(roomHs, roomSize); - - _logger.LogInformation($"Got room state for {room.RoomId}!"); - } - - await File.WriteAllTextAsync("server_size.txt", string.Join('\n', totalRoomSize.Select(x => $"{{ \"{x.Key}\", {x.Value} }},")), cancellationToken); - } - - /// <summary>Triggered when the application host is performing a graceful shutdown.</summary> - /// <param name="cancellationToken">Indicates that the shutdown process should no longer be graceful.</param> - public Task StopAsync(CancellationToken cancellationToken) { - _logger.LogInformation("Shutting down bot!"); - return Task.CompletedTask; - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/LibMatrix.DevTestBot.csproj b/Utilities/LibMatrix.DevTestBot/LibMatrix.DevTestBot.csproj deleted file mode 100644
index 9b0e94e..0000000 --- a/Utilities/LibMatrix.DevTestBot/LibMatrix.DevTestBot.csproj +++ /dev/null
@@ -1,36 +0,0 @@ -<Project Sdk="Microsoft.NET.Sdk"> - - <PropertyGroup> - <OutputType>Exe</OutputType> - <TargetFramework>net10.0</TargetFramework> - <LangVersion>preview</LangVersion> - <ImplicitUsings>enable</ImplicitUsings> - <Nullable>enable</Nullable> - <PublishAot>false</PublishAot> - <InvariantGlobalization>true</InvariantGlobalization> - <RootNamespace>LibMatrix.ExampleBot</RootNamespace> - <!-- <PublishTrimmed>true</PublishTrimmed>--> - <!-- <PublishReadyToRun>true</PublishReadyToRun>--> - <!-- <PublishSingleFile>true</PublishSingleFile>--> - <!-- <PublishReadyToRunShowWarnings>true</PublishReadyToRunShowWarnings>--> - <!-- <PublishTrimmedShowLinkerSizeComparison>true</PublishTrimmedShowLinkerSizeComparison>--> - <!-- <PublishTrimmedShowLinkerSizeComparisonWarnings>true</PublishTrimmedShowLinkerSizeComparisonWarnings>--> - </PropertyGroup> - - <ItemGroup> - <PackageReference Include="ArcaneLibs.StringNormalisation" Version="1.0.0-preview.20251005-232225" Condition="'$(Configuration)' == 'Release'"/> - <ProjectReference Include="..\..\ArcaneLibs\ArcaneLibs.StringNormalisation\ArcaneLibs.StringNormalisation.csproj" Condition="'$(Configuration)' == 'Debug'"/> - <ProjectReference Include="..\..\LibMatrix\LibMatrix.csproj"/> - <ProjectReference Include="..\LibMatrix.Utilities.Bot\LibMatrix.Utilities.Bot.csproj"/> - </ItemGroup> - - <ItemGroup> - <PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.2.25502.107"/> - </ItemGroup> - - <ItemGroup> - <Content Include="appsettings*.json"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Content> - </ItemGroup> -</Project> diff --git a/Utilities/LibMatrix.DevTestBot/Program.cs b/Utilities/LibMatrix.DevTestBot/Program.cs deleted file mode 100644
index 7eb74d4..0000000 --- a/Utilities/LibMatrix.DevTestBot/Program.cs +++ /dev/null
@@ -1,24 +0,0 @@ -// See https://aka.ms/new-console-template for more information - -using LibMatrix.ExampleBot.Bot; -using LibMatrix.Services; -using LibMatrix.Utilities.Bot; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; - -Console.WriteLine("Hello, World!"); - -var host = Host.CreateDefaultBuilder(args).ConfigureServices((_, services) => { - services.AddScoped<DevTestBotConfiguration>(); - services.AddRoryLibMatrixServices(); - - services.AddMatrixBot() - .AddCommandHandler() - .DiscoverAllCommands() - .WithInviteHandler(ctx => Task.FromResult(ctx.MemberEvent.Sender!.EndsWith(":rory.gay"))); - - // services.AddHostedService<ServerRoomSizeCalulator>(); - services.AddHostedService<PingTestBot>(); -}).UseConsoleLifetime().Build(); - -await host.RunAsync(); \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/Properties/launchSettings.json b/Utilities/LibMatrix.DevTestBot/Properties/launchSettings.json deleted file mode 100644
index 6c504ff..0000000 --- a/Utilities/LibMatrix.DevTestBot/Properties/launchSettings.json +++ /dev/null
@@ -1,25 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/launchsettings.json", - "profiles": { - "Default": { - "commandName": "Project", - "dotnetRunMessages": true, - "environmentVariables": { - } - }, - "Development": { - "commandName": "Project", - "dotnetRunMessages": true, - "environmentVariables": { - "DOTNET_ENVIRONMENT": "Development" - } - }, - "Local config": { - "commandName": "Project", - "dotnetRunMessages": true, - "environmentVariables": { - "DOTNET_ENVIRONMENT": "Local" - } - } - } -} diff --git a/Utilities/LibMatrix.DevTestBot/appsettings.Development.json b/Utilities/LibMatrix.DevTestBot/appsettings.Development.json deleted file mode 100644
index f999bc2..0000000 --- a/Utilities/LibMatrix.DevTestBot/appsettings.Development.json +++ /dev/null
@@ -1,9 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Debug", - "System": "Information", - "Microsoft": "Information" - } - } -} \ No newline at end of file diff --git a/Utilities/LibMatrix.DevTestBot/appsettings.json b/Utilities/LibMatrix.DevTestBot/appsettings.json deleted file mode 100644
index 815d2a5..0000000 --- a/Utilities/LibMatrix.DevTestBot/appsettings.json +++ /dev/null
@@ -1,14 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Debug", - "System": "Information", - "Microsoft": "Information" - } - }, - "Bot": { - "Homeserver": "rory.gay", - "AccessToken": "syt_xxxxxx_xxxxxxxxxxxxxxxxxxxx_xxxxxx", - "Prefix": "$" - } -} \ No newline at end of file