C#控制台应用程序生成完全自定义的命令

C#控制台应用程序生成完全自定义的命令,c#,irc,C#,Irc,我正在尝试制作一个IRC管理系统,但我需要自定义命令 例如: if (e.PrivateMessage.Message == ".ban") // add Custom time and reason { Console.WriteLine("Master Requested .ban (Ban)"); } 问题是:如何添加自定义原因和时间,以便编写“.ban Banada Spamchat”您可能需要这样的内容: var commands = new Dictionary<st

我正在尝试制作一个IRC管理系统,但我需要自定义命令

例如:

if (e.PrivateMessage.Message == ".ban") // add Custom time and reason
{
    Console.WriteLine("Master Requested .ban (Ban)");
}

问题是:如何添加自定义原因和时间,以便编写“.ban Banada Spamchat”

您可能需要这样的内容:

var commands = new Dictionary<string, Action<string[]>>
{
    ["ban"] = HandleBanCommand,
};

var args = e.PrivateMessage.Split(' ');
if (args[0].StartsWith("."))
{
    if (commands.TryGetValue(args[0].Substring(1), out var command))
    {
        command(args);
    }
    else
    {
        // command not found...
    }
}

// ...

void HandleBanCommand(string[] args)
{
    if (args.Length < 3)
    {
        // arguments missing...
        return;
    }

    var user = args[1];
    var reason = args[2];
    // add duration, and increment the length above by 1

    // ban the user...
}
var命令=新字典
{
[“ban”]=把手,
};
var args=e.PrivateMessage.Split(“”);
if(args[0].StartsWith(“.”)
{
if(commands.TryGetValue(args[0].子字符串(1),out var命令))
{
命令(args);
}
其他的
{
//找不到命令。。。
}
}
// ...
无效把手命令(字符串[]args)
{
如果(参数长度<3)
{
//缺少参数。。。
回来
}
var user=args[1];
var原因=args[2];
//添加持续时间,并将上述长度增加1
//禁止用户。。。
}

你能为一个消息框示例做一个小教程吗。。谢谢你的帮助

if (e.PrivateMessage.Message == ".msgbox")
            {
                Console.WriteLine("IRC Admin Sent Command .msgbox (Message Box)");
                MessageBox((IntPtr)0, message, title, 0);

                so if i type .msgbox Annoncements test
            }
如果我能输入.msgbox注释测试