Updated to allow mention as command prefix. Updated DBCommand

This commit is contained in:
2023-01-31 16:07:53 +02:00
parent 22f2cd4e59
commit 4f18f505f4
12 changed files with 299 additions and 342 deletions

View File

@@ -120,6 +120,9 @@ public static class Config
throw new Exception("Config is not loaded");
if (Exists(VarName))
{
if (GetValue(VarName) == Value)
return;
SetValue(VarName, Value);
SetReadOnly(VarName, ReadOnly);
return;

View File

@@ -1,6 +1,7 @@
using System.Collections.Generic;
using Discord.Commands;
using PluginManager.Others;
namespace PluginManager.Interfaces;
@@ -37,7 +38,7 @@ public interface DBCommand
/// The main body of the command. This is what is executed when user calls the command in Server
/// </summary>
/// <param name="context">The disocrd Context</param>
void ExecuteServer(SocketCommandContext context)
void ExecuteServer(CmdArgs args)
{
}
@@ -45,7 +46,7 @@ public interface DBCommand
/// The main body of the command. This is what is executed when user calls the command in DM
/// </summary>
/// <param name="context">The disocrd Context</param>
void ExecuteDM(SocketCommandContext context)
void ExecuteDM(CmdArgs args)
{
}
}

View File

@@ -1,46 +1,10 @@
using System;
using System.Collections.Generic;
using Discord.Commands;
using Discord.WebSocket;
namespace PluginManager.Items;
public class Command
{
/// <summary>
/// The author of the command
/// </summary>
public SocketUser? Author;
/// <summary>
/// The Command class contructor
/// </summary>
/// <param name="message">The message that was sent</param>
public Command(SocketMessage message)
{
Author = message.Author;
var data = message.Content.Split(' ');
Arguments = data.Length > 1 ? new List<string>(string.Join(' ', data, 1, data.Length - 1).Split(' ')) : new List<string>();
CommandName = data[0].Substring(1);
PrefixUsed = data[0][0];
}
/// <summary>
/// The list of arguments
/// </summary>
public List<string> Arguments { get; }
/// <summary>
/// The command that is executed
/// </summary>
public string CommandName { get; }
/// <summary>
/// The prefix that is used for the command
/// </summary>
public char PrefixUsed { get; }
}
public class ConsoleCommand
{
public string? CommandName { get; init; }

View File

@@ -0,0 +1,19 @@
using Discord.Commands;
using Discord.WebSocket;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PluginManager.Others
{
public class CmdArgs
{
public SocketCommandContext context { get; init; }
public string cleanContent { get; init; }
public string commandUsed { get;init; }
public string[] arguments { get;init; }
}
}

View File

@@ -36,12 +36,6 @@ public static class Functions
return OperatingSystem.UNKNOWN;
}
public static List<string> GetArguments(SocketMessage message)
{
var command = new Command(message);
return command.Arguments;
}
/// <summary>
/// Copy one Stream to another <see langword="async" />
/// </summary>