using System.Collections.Generic;
using Discord.Commands;
using Discord.WebSocket;
namespace PluginManager.Interfaces;
public interface DBCommand
{
///
/// Command to be executed
/// It's CaSe SeNsItIvE
///
string Command { get; }
///
/// Command aliases. Users may use this to execute the command
///
List? Aliases { get; }
///
/// Command description
///
string Description { get; }
///
/// The usage for your command.
/// It will be displayed when users type help
///
string Usage { get; }
///
/// true if the command can be used in a DM channel, otherwise false
///
bool canUseDM { get; }
///
/// true if the command can be used in a server, otherwise false
///
bool canUseServer { get; }
///
/// true if the command requre admin, otherwise false
///
bool requireAdmin { get; }
///
/// The main body of the command. This is what is executed when user calls the command
///
/// The disocrd Context
/// The message that the user types
/// The discord client of the bot
/// true if the message was sent from DM, otherwise false. It is always false if canUseDM is false
void Execute(SocketCommandContext context, SocketMessage message, DiscordSocketClient client, bool isDM);
}