Консольное приложение C #, создающее полностью настраиваемые команды - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь создать систему администратора IRC, но мне нужно создавать пользовательские команды.

Например:

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

Вопрос: как добавить пользовательскую причину?и время, чтобы я мог написать ".ban Banada Spamchat"

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Можете ли вы сделать небольшой урок для примера окна сообщения ... и спасибо за помощь!

0 голосов
/ 18 ноября 2018

Вы, вероятно, хотите что-то вроде этого:

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