c# - C# 控制台应用程序制作完全自定义的命令
问题描述
我正在尝试制作 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...
}
推荐阅读
- powershell - Exchange online - 将邮箱权限从一个用户复制到另一个用户
- c++ - 不同数据类型的输入的相同值上的不同输出
- c# - 确认:我可以在保持 TCP 套接字打开的同时调试应用程序吗?
- virtual-machine - 奇点容器未在 WSL2 上正确绑定
- node.js - Node JS 使用 Cheerio 抓取 youtube 视频
- python - RuntimeError:找到 dtype Double 但预期 Float
- php - 带有外部 UserProvider 和 JWT 的 Laravel 8:未经身份验证
- c# - CosmosDB 区分大小写的 ORDER BY 表达式
- c# - 如何在 cshtml 视图中正确设置所选项目?
- assembly - ARM 程序集中的立即值编码