コード例 #1
0
        private async void ListLogsRequested(DashboardCommandNotification obj)
        {
            var sb = _sbPool.Get();

            sb.Append("Logs: \r\n");
            foreach (var log in _logManager.EnumerateLogFiles())
            {
                sb.Append($"  {log}\r\n");
            }

            var result = sb.ToString();

            _sbPool.Return(sb);

            await obj.User.Write(_messageFactory.CreateConsoleLog(result, "handler"));
        }
コード例 #2
0
        private async void FetchLogRequested(DashboardCommandNotification obj)
        {
            if (!_logManager.EnumerateLogFiles().Contains(obj.Tokens[0]))
            {
                await obj.User.Write(_messageFactory.CreateFetchLog(null, false));

                return;
            }

            foreach (var password in _passwords)
            {
                var path = $"/logs.csv?{password}&{obj.Tokens[0]}.csv";
                if (!_server.ContainsHandler(path))
                {
                    _server.AddHandler(new StaticHandler(path, _logManager.GetFullPath(obj.Tokens[0]), "text/csv"));
                }
            }

            await obj.User.Write(_messageFactory.CreateFetchLog(obj.Tokens[0], true));
        }
コード例 #3
0
        private async void HelpRequested(DashboardCommandNotification obj)
        {
            if (obj.Tokens == null)
            {
                await obj.User.Write(
                    _messageFactory.CreateConsoleLog(_helpProvider.CreateHelp(_parser.Commands), "handler"));

                return;
            }

            var record = _parser.Commands.FirstOrDefault(c => c.Prefix.Equals(obj.Tokens[0]));

            if (record == null)
            {
                await obj.User.WriteConsole("No such command exists.", "handler");
            }
            else
            {
                await obj.User.WriteConsole(
                    $"Prefix: \"{record.Prefix}\" arguments: {record.MaxTokens} info: \"{record.Information}\"",
                    "handler");
            }
        }
コード例 #4
0
 private async void LogSizeRequested(DashboardCommandNotification obj)
 {
     await obj.User.WriteConsole($"Log files: {_logManager.GetLogBytes().ToSizeNotation()}", "handler");
 }