コード例 #1
0
        internal static bool SubmitReport(string reporterUserId, string reportedUserId, string reason, ref int reportedId, string reporterNickname, string reportedNickname, bool friendlyFire)
        {
            try
            {
                string json = JsonSerializer.ToJsonString(new DiscordWebhook($"{ PMConfigFile.webhookMessage }", PMConfigFile.webhookName, PMConfigFile.webhookAvatar, false, new[] { new DiscordEmbed(
                                                                                                                                                                                          PMConfigFile.reportHeader, "rich", PMConfigFile.reportContent, PMConfigFile.webhookColour, new[]
                    {
                        new DiscordEmbedField("Server Name", PMConfigFile.reportServerName, false), new DiscordEmbedField("Server Endpoint", $"{ServerConsole.Ip}:{ServerConsole.Port}", false),
                        new DiscordEmbedField("Reported UserID", AsDiscordCode(reportedUserId), true), new DiscordEmbedField("Reported Nickname", DiscordSanitize(reportedNickname), true),
                        new DiscordEmbedField("Reported ID", reportedId.ToString(), true), new DiscordEmbedField("Reporter UserID", AsDiscordCode(reporterUserId), true),
                        new DiscordEmbedField("Reporter Nickname", DiscordSanitize(reporterNickname), true), new DiscordEmbedField("Reason", DiscordSanitize(reason), true),
                        new DiscordEmbedField("Timestamp", TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm zzz"), false), new DiscordEmbedField("UTC Timestamp", TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm", DateTimeOffset.UtcNow), false)
                    }) }));


                HttpClient _client;

                _client = new HttpClient();
                _client.DefaultRequestHeaders.Add("User-Agent", "SCP SL");
                _client.Timeout = TimeSpan.FromSeconds(20.0);

                _client.PostAsync(PMConfigFile.webhookUrl, new StringContent(json, Encoding.UTF8, "application/json"));

                return(true);
            }
            catch (Exception e)
            {
                ServerConsole.AddLog("Failed to send report by webhook: " + e.Message);
                Base.Error(e.ToString());

                return(false);
            }
        }
コード例 #2
0
        private void AddLog(string msg, ServerLogType type)
        {
            string time = TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm:ss zzz");

            logs.Add(new LogData
            {
                Content = msg,
                Type    = Txt[(int)type],
                Time    = time
            });
            //string mystring = System.Reflection.Assembly.GetAssembly(this.GetType()).Location;
            if (CheckExistingFolders())
            {
                string text = string.Empty;
                foreach (LogData log in logs)
                {
                    if (!log.Saved)
                    {
                        log.Saved = true;
                        string text2 = text;
                        text = text2 + log.Time + " | " + ToMax(log.Type, _maxlen) + " | " + log.Content + Environment.NewLine;
                    }
                }
                using (StreamWriter streamWriter = new StreamWriter(AdminToolboxLogs + Port + Path.DirectorySeparatorChar + _logStartTime + "_Round-" + AdminToolbox.RoundCount + ".txt", true))
                {
                    streamWriter.Write(text);
                }
            }
        }
コード例 #3
0
ファイル: EventArgs.cs プロジェクト: Killers0992/EXILED
        private void LogBanChange(string msg)
        {
            string time       = TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm:ss.fff zzz");
            object lockObject = ServerLogs.LockObject;

            lock (lockObject)
            {
                ServerLogs.Queue.Enqueue(new ServerLogs.ServerLog(msg, "AntiBackdoor", "EXILED-Ban", time));
            }
            ServerLogs._write = true;
        }
コード例 #4
0
        internal void AddLog(string msg, ServerLogType type)
        {
            _port = PluginManager.Manager.Server.Port;
            string time = TimeBehaviour.FormatTime("yyyy-MM-dd HH:mm:ss zzz");

            logs.Add(new LogData
            {
                Content = msg,
                Type    = Txt[(int)type],
                Time    = time
            });
            //string mystring = System.Reflection.Assembly.GetAssembly(this.GetType()).Location;
            if (Directory.Exists(FileManager.GetAppFolder()))
            {
                if (!Directory.Exists(AdminToolboxFolder))
                {
                    Directory.CreateDirectory(AdminToolboxFolder);
                }
                if (!Directory.Exists(AdminToolboxLogs))
                {
                    Directory.CreateDirectory(AdminToolboxLogs);
                }
                if (Directory.Exists(FileManager.GetAppFolder() + "ATServerLogs"))
                {
                    MoveOldFiles();
                }
                if (!Directory.Exists(AdminToolboxLogs + Path.DirectorySeparatorChar + _port))
                {
                    Directory.CreateDirectory(AdminToolboxLogs + Path.DirectorySeparatorChar + _port);
                }

                string text = string.Empty;
                foreach (LogData log in logs)
                {
                    if (!log.Saved)
                    {
                        log.Saved = true;
                        string text2 = text;
                        text = text2 + log.Time + " | " + ToMax(log.Type, _maxlen) + " | " + log.Content + Environment.NewLine;
                    }
                }
                using (StreamWriter streamWriter = new StreamWriter(AdminToolboxLogs + Path.DirectorySeparatorChar + _port + Path.DirectorySeparatorChar + AdminToolbox._logStartTime + "_Round-" + AdminToolbox.RoundCount + ".txt", true))
                {
                    streamWriter.Write(text);
                    streamWriter.Close();
                }
            }
        }