mirror of
https://github.com/reactos/reactos.git
synced 2024-09-21 02:01:15 +00:00
d7b2077ed8
- made more and more easily extensible: * commands automatically loaded from plugins dlls * declarative and automatic command parameter parsing * common code moved to base classes - other fixes svn path=/trunk/; revision=33344
52 lines
1.3 KiB
C#
52 lines
1.3 KiB
C#
using System;
|
|
using System.Collections;
|
|
|
|
namespace TechBot.Library
|
|
{
|
|
[Command("help", Help = "!help")]
|
|
public class HelpCommand : Command
|
|
{
|
|
private string m_CommandName = null;
|
|
|
|
public HelpCommand()
|
|
{
|
|
}
|
|
|
|
[CommandParameter("Name", "The command name to show help")]
|
|
public string CommandName
|
|
{
|
|
get { return m_CommandName; }
|
|
set { m_CommandName = value; }
|
|
}
|
|
|
|
public override void ExecuteCommand()
|
|
{
|
|
if (CommandName == null)
|
|
{
|
|
Say("I support the following commands:");
|
|
|
|
foreach (CommandBuilder command in TechBot.Commands)
|
|
{
|
|
Say("!{0} - {1}",
|
|
command.Name,
|
|
command.Description);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
CommandBuilder cmdBuilder = TechBot.Commands.Find(CommandName);
|
|
|
|
if (cmdBuilder == null)
|
|
{
|
|
Say("Command '{0}' is not recognized. Type '!help' to show all available commands", CommandName);
|
|
}
|
|
else
|
|
{
|
|
Say("Command '{0}' help:", CommandName);
|
|
Say("");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|