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

时间:2018-11-17 21:17:49

标签: c# irc

我正在尝试制作IRC Admin系统,但是我需要进行自定义命令。

例如:

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

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

2 个答案:

答案 0 :(得分:0)

您可能想要这样的东西:

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...
}

答案 1 :(得分:0)

您可以为消息框制作一些教程吗..并且感谢您的帮助!:

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 Annoncements测试