From 8dbbfbfaef909d5e9fc959b092bbc100d355f6a6 Mon Sep 17 00:00:00 2001 From: Andrei Tudor Date: Fri, 17 May 2024 12:36:02 +0300 Subject: [PATCH] Fixed DiscordBotUI --- DiscordBot/Program.cs | 1 - .../Others/Actions/InternalActionsManager.cs | 2 ++ .../DiscordBotUI/Bot/Commands/Help.cs | 10 ++++---- DiscordBotUI/DiscordBotUI/Bot/DiscordBot.cs | 16 ++++++------- DiscordBotUI/DiscordBotUI/DiscordBotUI.csproj | 2 +- .../DiscordBotUI/Views/HomePage.axaml.cs | 23 ++++++++++--------- .../Views/PluginInstaller.axaml.cs | 12 +++++----- .../DiscordBotUI/Views/PluginsPage.axaml.cs | 6 ++--- .../DiscordBotUI/Views/SettingsPage.axaml.cs | 12 +++++----- 9 files changed, 43 insertions(+), 41 deletions(-) diff --git a/DiscordBot/Program.cs b/DiscordBot/Program.cs index 21b5bd0..526e83d 100644 --- a/DiscordBot/Program.cs +++ b/DiscordBot/Program.cs @@ -78,7 +78,6 @@ public class Program private static async Task LoadComponents(string[] args) { await Application.CreateApplication(); - Application.CurrentApplication.ApplicationEnvironmentVariables["Version"] = Assembly.GetExecutingAssembly().GetName().Version.ToString(); AppUpdater updater = new(); diff --git a/DiscordBotCore/Others/Actions/InternalActionsManager.cs b/DiscordBotCore/Others/Actions/InternalActionsManager.cs index a599969..9282fb3 100644 --- a/DiscordBotCore/Others/Actions/InternalActionsManager.cs +++ b/DiscordBotCore/Others/Actions/InternalActionsManager.cs @@ -9,6 +9,7 @@ namespace DiscordBotCore.Others.Actions; public class InternalActionManager { public Dictionary Actions = new(); + private readonly ActionsLoader _loader; public InternalActionManager(string path, string extension) @@ -19,6 +20,7 @@ public class InternalActionManager public async Task Initialize() { var loadedActions = await _loader.Load(); + if (loadedActions == null) return; foreach (var action in loadedActions) diff --git a/DiscordBotUI/DiscordBotUI/Bot/Commands/Help.cs b/DiscordBotUI/DiscordBotUI/Bot/Commands/Help.cs index 9606a84..24bcb40 100644 --- a/DiscordBotUI/DiscordBotUI/Bot/Commands/Help.cs +++ b/DiscordBotUI/DiscordBotUI/Bot/Commands/Help.cs @@ -1,9 +1,9 @@ using System.Collections.Generic; using Discord; -using PluginManager; -using PluginManager.Interfaces; -using PluginManager.Loaders; -using PluginManager.Others; +using DiscordBotCore; +using DiscordBotCore.Interfaces; +using DiscordBotCore.Loaders; +using DiscordBotCore.Others; namespace DiscordBotUI.Bot.Commands; @@ -79,7 +79,7 @@ internal class Help: DBCommand ); if (cmd == null) return null; - embedBuilder.AddField("Usage", Config.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"] + cmd.Usage); + embedBuilder.AddField("Usage", DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"] + cmd.Usage); embedBuilder.AddField("Description", cmd.Description); if (cmd.Aliases is null) return embedBuilder; diff --git a/DiscordBotUI/DiscordBotUI/Bot/DiscordBot.cs b/DiscordBotUI/DiscordBotUI/Bot/DiscordBot.cs index e3cfe37..b906ab4 100644 --- a/DiscordBotUI/DiscordBotUI/Bot/DiscordBot.cs +++ b/DiscordBotUI/DiscordBotUI/Bot/DiscordBot.cs @@ -1,9 +1,9 @@ using System.Threading.Tasks; -using PluginManager; -using PluginManager.Interfaces; -using PluginManager.Loaders; -using PluginManager.Others; +using DiscordBotCore; +using DiscordBotCore.Interfaces; +using DiscordBotCore.Loaders; +using DiscordBotCore.Others; namespace DiscordBotUI.Bot { @@ -18,15 +18,15 @@ namespace DiscordBotUI.Bot public async Task InitializeBot() { - string token = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["token"]; - string prefix = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"]; - PluginManager.Bot.Boot discordBooter = new PluginManager.Bot.Boot(token, prefix); + string token = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["token"]; + string prefix = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"]; + DiscordBotCore.Bot.Boot discordBooter = new DiscordBotCore.Bot.Boot(token, prefix); await discordBooter.Awake(); } public async Task LoadPlugins() { - var loader = new PluginLoader(Config.DiscordBot.Client); + var loader = new PluginLoader(DiscordBotCore.Application.CurrentApplication.DiscordBotClient.Client); loader.OnCommandLoaded += (data) => { diff --git a/DiscordBotUI/DiscordBotUI/DiscordBotUI.csproj b/DiscordBotUI/DiscordBotUI/DiscordBotUI.csproj index 0e31c41..882ca18 100644 --- a/DiscordBotUI/DiscordBotUI/DiscordBotUI.csproj +++ b/DiscordBotUI/DiscordBotUI/DiscordBotUI.csproj @@ -20,6 +20,6 @@ - + diff --git a/DiscordBotUI/DiscordBotUI/Views/HomePage.axaml.cs b/DiscordBotUI/DiscordBotUI/Views/HomePage.axaml.cs index 97e6b13..fe0aa2e 100644 --- a/DiscordBotUI/DiscordBotUI/Views/HomePage.axaml.cs +++ b/DiscordBotUI/DiscordBotUI/Views/HomePage.axaml.cs @@ -7,8 +7,9 @@ using Avalonia.Threading; using DiscordBotUI.Bot; -using PluginManager; -using PluginManager.Others.Logger; +using DiscordBotCore; +using DiscordBotCore.Others.Logger; +using DiscordBotCore.Interfaces.Logger; namespace DiscordBotUI.Views; @@ -26,31 +27,31 @@ public partial class HomePage : Window private async void HomePage_Loaded(object? sender, Avalonia.Interactivity.RoutedEventArgs e) { - await Config.Initialize(); + await DiscordBotCore.Application.CreateApplication(); - if(!Config.Application.CurrentApplication.ApplicationEnvironmentVariables.ContainsAllKeys("token", "prefix")) + if(!DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables.ContainsAllKeys("token", "prefix")) { await new SettingsPage().ShowDialog(this); - if (string.IsNullOrWhiteSpace(Config.Application.CurrentApplication.ApplicationEnvironmentVariables["token"]) || string.IsNullOrWhiteSpace(Config.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"])) + if (string.IsNullOrWhiteSpace(DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["token"]) || string.IsNullOrWhiteSpace(DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"])) Environment.Exit(-1); } - textBoxToken.Text = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["token"]; - textBoxPrefix.Text = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"]; - textBoxServerId.Text = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["ServerID"]; + textBoxToken.Text = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["token"]; + textBoxPrefix.Text = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"]; + textBoxServerId.Text = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["ServerID"]; } - private void SetTextToTB(Log logMessage) + private void SetTextToTB(ILogMessage logMessage) { - logTextBlock.Text += $"[{logMessage.Type}] [{logMessage.ThrowTime.ToShortTimeString()}] {logMessage.Message}\n"; + logTextBlock.Text += $"[{logMessage.LogMessageType}] [{logMessage.ThrowTime.ToShortTimeString()}] {logMessage.Message}\n"; } private async void ButtonStartBotClick(object? sender, Avalonia.Interactivity.RoutedEventArgs e) { - Application.CurrentApplication.Logger.OnLog += async (sender, logMessage) => + DiscordBotCore.Application.CurrentApplication.Logger.OnRawLog += async (sender, logMessage) => { await Dispatcher.UIThread.InvokeAsync(() => SetTextToTB(logMessage), DispatcherPriority.Background); }; diff --git a/DiscordBotUI/DiscordBotUI/Views/PluginInstaller.axaml.cs b/DiscordBotUI/DiscordBotUI/Views/PluginInstaller.axaml.cs index 6e59f08..4dae1eb 100644 --- a/DiscordBotUI/DiscordBotUI/Views/PluginInstaller.axaml.cs +++ b/DiscordBotUI/DiscordBotUI/Views/PluginInstaller.axaml.cs @@ -11,8 +11,8 @@ using Avalonia.Media; using DiscordBotUI.ViewModels; -using PluginManager; -using PluginManager.Plugin; +using DiscordBotCore; +using DiscordBotCore.Plugin; namespace DiscordBotUI.Views; @@ -30,9 +30,9 @@ public partial class PluginInstaller : Window private async void OnPageLoaded(object? sender, RoutedEventArgs e) { - if (Config.PluginsManager is null) return; + if (DiscordBotCore.Application.CurrentApplication.PluginManager is null) return; - List? onlineInfos = await Config.PluginsManager.GetPluginsList(); + List? onlineInfos = await DiscordBotCore.Application.CurrentApplication.PluginManager.GetPluginsList(); if(onlineInfos is null) return; @@ -52,11 +52,11 @@ public partial class PluginInstaller : Window public async void InstallPlugin(string name) { - PluginOnlineInfo? info = await Config.PluginsManager.GetPluginDataByName(name); + PluginOnlineInfo? info = await DiscordBotCore.Application.CurrentApplication.PluginManager.GetPluginDataByName(name); if(info is null) return; - await Config.PluginsManager.InstallPlugin(info, null); + await DiscordBotCore.Application.CurrentApplication.PluginManager.InstallPlugin(info, null); } } \ No newline at end of file diff --git a/DiscordBotUI/DiscordBotUI/Views/PluginsPage.axaml.cs b/DiscordBotUI/DiscordBotUI/Views/PluginsPage.axaml.cs index 7ac05d8..f5c0526 100644 --- a/DiscordBotUI/DiscordBotUI/Views/PluginsPage.axaml.cs +++ b/DiscordBotUI/DiscordBotUI/Views/PluginsPage.axaml.cs @@ -6,7 +6,7 @@ using Avalonia.Interactivity; using DiscordBotUI.ViewModels; -using PluginManager; +using DiscordBotCore; namespace DiscordBotUI.Views; @@ -24,9 +24,9 @@ public partial class PluginsPage: Window private async void OnPageLoaded(object? sender, RoutedEventArgs e) { - if (Config.PluginsManager is null) return; + if (DiscordBotCore.Application.CurrentApplication.PluginManager is null) return; - var plugins = await Config.PluginsManager.GetInstalledPlugins(); + var plugins = await DiscordBotCore.Application.CurrentApplication.PluginManager.GetInstalledPlugins(); var localList = new List(); foreach (var plugin in plugins) { diff --git a/DiscordBotUI/DiscordBotUI/Views/SettingsPage.axaml.cs b/DiscordBotUI/DiscordBotUI/Views/SettingsPage.axaml.cs index 9abe229..604ef0b 100644 --- a/DiscordBotUI/DiscordBotUI/Views/SettingsPage.axaml.cs +++ b/DiscordBotUI/DiscordBotUI/Views/SettingsPage.axaml.cs @@ -1,6 +1,6 @@ using Avalonia.Controls; -using PluginManager; +using DiscordBotCore; namespace DiscordBotUI.Views; @@ -30,13 +30,13 @@ public partial class SettingsPage : Window return; } - Config.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("token", token); - Config.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("prefix", botPrefix); - Config.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("ServerID", serverId); + DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("token", token); + DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("prefix", botPrefix); + DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("ServerID", serverId); - await Config.Application.CurrentApplication.ApplicationEnvironmentVariables.SaveToFile(); + await DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables.SaveToFile(); - Application.CurrentApplication.Logger.Log("Config Saved"); + DiscordBotCore.Application.CurrentApplication.Logger.Log("Config Saved", this); Close();