Fixed DiscordBotUI

This commit is contained in:
2024-05-17 12:36:02 +03:00
parent 152e09f4af
commit 8dbbfbfaef
9 changed files with 43 additions and 41 deletions

View File

@@ -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;

View File

@@ -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) =>
{

View File

@@ -20,6 +20,6 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\PluginManager\DiscordBotCore.csproj" />
<ProjectReference Include="..\..\DiscordBotCore\DiscordBotCore.csproj" />
</ItemGroup>
</Project>

View File

@@ -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);
};

View File

@@ -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<PluginOnlineInfo>? onlineInfos = await Config.PluginsManager.GetPluginsList();
List<PluginOnlineInfo>? 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);
}
}

View File

@@ -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<Plugin>();
foreach (var plugin in plugins)
{

View File

@@ -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();