Updated to allow mention as command prefix. Updated DBCommand
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -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; }
|
||||
|
||||
19
PluginManager/Others/CmdArgs.cs
Normal file
19
PluginManager/Others/CmdArgs.cs
Normal 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; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user