Fixed DiscordBotUI
This commit is contained in:
@@ -78,7 +78,6 @@ public class Program
|
|||||||
private static async Task LoadComponents(string[] args)
|
private static async Task LoadComponents(string[] args)
|
||||||
{
|
{
|
||||||
await Application.CreateApplication();
|
await Application.CreateApplication();
|
||||||
|
|
||||||
Application.CurrentApplication.ApplicationEnvironmentVariables["Version"] = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
Application.CurrentApplication.ApplicationEnvironmentVariables["Version"] = Assembly.GetExecutingAssembly().GetName().Version.ToString();
|
||||||
|
|
||||||
AppUpdater updater = new();
|
AppUpdater updater = new();
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ namespace DiscordBotCore.Others.Actions;
|
|||||||
public class InternalActionManager
|
public class InternalActionManager
|
||||||
{
|
{
|
||||||
public Dictionary<string, ICommandAction> Actions = new();
|
public Dictionary<string, ICommandAction> Actions = new();
|
||||||
|
|
||||||
private readonly ActionsLoader _loader;
|
private readonly ActionsLoader _loader;
|
||||||
|
|
||||||
public InternalActionManager(string path, string extension)
|
public InternalActionManager(string path, string extension)
|
||||||
@@ -19,6 +20,7 @@ public class InternalActionManager
|
|||||||
public async Task Initialize()
|
public async Task Initialize()
|
||||||
{
|
{
|
||||||
var loadedActions = await _loader.Load();
|
var loadedActions = await _loader.Load();
|
||||||
|
|
||||||
if (loadedActions == null)
|
if (loadedActions == null)
|
||||||
return;
|
return;
|
||||||
foreach (var action in loadedActions)
|
foreach (var action in loadedActions)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Discord;
|
using Discord;
|
||||||
using PluginManager;
|
using DiscordBotCore;
|
||||||
using PluginManager.Interfaces;
|
using DiscordBotCore.Interfaces;
|
||||||
using PluginManager.Loaders;
|
using DiscordBotCore.Loaders;
|
||||||
using PluginManager.Others;
|
using DiscordBotCore.Others;
|
||||||
|
|
||||||
namespace DiscordBotUI.Bot.Commands;
|
namespace DiscordBotUI.Bot.Commands;
|
||||||
|
|
||||||
@@ -79,7 +79,7 @@ internal class Help: DBCommand
|
|||||||
);
|
);
|
||||||
if (cmd == null) return null;
|
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);
|
embedBuilder.AddField("Description", cmd.Description);
|
||||||
if (cmd.Aliases is null)
|
if (cmd.Aliases is null)
|
||||||
return embedBuilder;
|
return embedBuilder;
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
using PluginManager;
|
using DiscordBotCore;
|
||||||
using PluginManager.Interfaces;
|
using DiscordBotCore.Interfaces;
|
||||||
using PluginManager.Loaders;
|
using DiscordBotCore.Loaders;
|
||||||
using PluginManager.Others;
|
using DiscordBotCore.Others;
|
||||||
|
|
||||||
namespace DiscordBotUI.Bot
|
namespace DiscordBotUI.Bot
|
||||||
{
|
{
|
||||||
@@ -18,15 +18,15 @@ namespace DiscordBotUI.Bot
|
|||||||
|
|
||||||
public async Task InitializeBot()
|
public async Task InitializeBot()
|
||||||
{
|
{
|
||||||
string token = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["token"];
|
string token = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["token"];
|
||||||
string prefix = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"];
|
string prefix = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"];
|
||||||
PluginManager.Bot.Boot discordBooter = new PluginManager.Bot.Boot(token, prefix);
|
DiscordBotCore.Bot.Boot discordBooter = new DiscordBotCore.Bot.Boot(token, prefix);
|
||||||
await discordBooter.Awake();
|
await discordBooter.Awake();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task LoadPlugins()
|
public async Task LoadPlugins()
|
||||||
{
|
{
|
||||||
var loader = new PluginLoader(Config.DiscordBot.Client);
|
var loader = new PluginLoader(DiscordBotCore.Application.CurrentApplication.DiscordBotClient.Client);
|
||||||
|
|
||||||
loader.OnCommandLoaded += (data) =>
|
loader.OnCommandLoaded += (data) =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -20,6 +20,6 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\PluginManager\DiscordBotCore.csproj" />
|
<ProjectReference Include="..\..\DiscordBotCore\DiscordBotCore.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -7,8 +7,9 @@ using Avalonia.Threading;
|
|||||||
|
|
||||||
using DiscordBotUI.Bot;
|
using DiscordBotUI.Bot;
|
||||||
|
|
||||||
using PluginManager;
|
using DiscordBotCore;
|
||||||
using PluginManager.Others.Logger;
|
using DiscordBotCore.Others.Logger;
|
||||||
|
using DiscordBotCore.Interfaces.Logger;
|
||||||
|
|
||||||
namespace DiscordBotUI.Views;
|
namespace DiscordBotUI.Views;
|
||||||
|
|
||||||
@@ -26,31 +27,31 @@ public partial class HomePage : Window
|
|||||||
|
|
||||||
private async void HomePage_Loaded(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
|
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);
|
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);
|
Environment.Exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
textBoxToken.Text = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["token"];
|
textBoxToken.Text = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["token"];
|
||||||
textBoxPrefix.Text = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"];
|
textBoxPrefix.Text = DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables["prefix"];
|
||||||
textBoxServerId.Text = Config.Application.CurrentApplication.ApplicationEnvironmentVariables["ServerID"];
|
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)
|
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);
|
await Dispatcher.UIThread.InvokeAsync(() => SetTextToTB(logMessage), DispatcherPriority.Background);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ using Avalonia.Media;
|
|||||||
|
|
||||||
using DiscordBotUI.ViewModels;
|
using DiscordBotUI.ViewModels;
|
||||||
|
|
||||||
using PluginManager;
|
using DiscordBotCore;
|
||||||
using PluginManager.Plugin;
|
using DiscordBotCore.Plugin;
|
||||||
|
|
||||||
namespace DiscordBotUI.Views;
|
namespace DiscordBotUI.Views;
|
||||||
|
|
||||||
@@ -30,9 +30,9 @@ public partial class PluginInstaller : Window
|
|||||||
|
|
||||||
private async void OnPageLoaded(object? sender, RoutedEventArgs e)
|
private async void OnPageLoaded(object? sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (Config.PluginsManager is null) return;
|
if (DiscordBotCore.Application.CurrentApplication.PluginManager is null) return;
|
||||||
|
|
||||||
List<PluginOnlineInfo>? onlineInfos = await Config.PluginsManager.GetPluginsList();
|
List<PluginOnlineInfo>? onlineInfos = await DiscordBotCore.Application.CurrentApplication.PluginManager.GetPluginsList();
|
||||||
|
|
||||||
if(onlineInfos is null) return;
|
if(onlineInfos is null) return;
|
||||||
|
|
||||||
@@ -52,11 +52,11 @@ public partial class PluginInstaller : Window
|
|||||||
public async void InstallPlugin(string name)
|
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;
|
if(info is null) return;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
await Config.PluginsManager.InstallPlugin(info, null);
|
await DiscordBotCore.Application.CurrentApplication.PluginManager.InstallPlugin(info, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@ using Avalonia.Interactivity;
|
|||||||
|
|
||||||
using DiscordBotUI.ViewModels;
|
using DiscordBotUI.ViewModels;
|
||||||
|
|
||||||
using PluginManager;
|
using DiscordBotCore;
|
||||||
|
|
||||||
namespace DiscordBotUI.Views;
|
namespace DiscordBotUI.Views;
|
||||||
|
|
||||||
@@ -24,9 +24,9 @@ public partial class PluginsPage: Window
|
|||||||
|
|
||||||
private async void OnPageLoaded(object? sender, RoutedEventArgs e)
|
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<Plugin>();
|
var localList = new List<Plugin>();
|
||||||
foreach (var plugin in plugins)
|
foreach (var plugin in plugins)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
using Avalonia.Controls;
|
using Avalonia.Controls;
|
||||||
|
|
||||||
using PluginManager;
|
using DiscordBotCore;
|
||||||
|
|
||||||
namespace DiscordBotUI.Views;
|
namespace DiscordBotUI.Views;
|
||||||
|
|
||||||
@@ -30,13 +30,13 @@ public partial class SettingsPage : Window
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Config.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("token", token);
|
DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("token", token);
|
||||||
Config.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("prefix", botPrefix);
|
DiscordBotCore.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("prefix", botPrefix);
|
||||||
Config.Application.CurrentApplication.ApplicationEnvironmentVariables.Add("ServerID", serverId);
|
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();
|
Close();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user