Files
SethDiscordBot/DiscordBot/Bot/Actions/AddPlugin.cs
2024-06-08 20:47:15 +03:00

55 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DiscordBotCore;
using DiscordBotCore.Interfaces;
using DiscordBotCore.Others;
using DiscordBotCore.Others.Actions;
using DiscordBotCore.Plugin;
namespace DiscordBot.Bot.Actions
{
internal class AddPlugin : ICommandAction
{
public string ActionName => "add-plugin";
public string Description => "Add a local plugin to the database";
public string Usage => "add-plugin <path>";
public IEnumerable<InternalActionOption> ListOfOptions => [
new InternalActionOption("path", "The path to the plugin to add")
];
public InternalActionRunType RunType => InternalActionRunType.ON_CALL;
public async Task Execute(string[] args)
{
if(args.Length < 1)
{
Console.WriteLine("Invalid arguments given. Please use the following format:");
Console.WriteLine("add-plugin <path>");
Console.WriteLine("path: The path to the plugin to add");
return;
}
var path = args[0];
if(!System.IO.File.Exists(path))
{
Console.WriteLine("The file does not exist !!");
return;
}
FileInfo fileInfo = new FileInfo(path);
PluginInfo pluginInfo = new PluginInfo(fileInfo.Name, new(1, 0, 0), [], false, true);
await Application.CurrentApplication.PluginManager.AppendPluginToDatabase(pluginInfo);
}
}
}