using System.Text; using System.Text.RegularExpressions; using ExitGames.Client.Photon.Chat; namespace CLre_server.Tweaks.Chat { public static class UserCommands { private const string HELP_STRING = "CLre chat commands:\n" + "/echo - say \n" + "/help - show this message\n" + "/list - display online users\n" + "/version - display version information\n\n" + "CLre moderation commands:\n" + "/ban - permanently remove from this server\n" + "/deop - revoke moderator permissions\n" + "/kick - disconnect from this server\n" + "/op - grant moderator permissions"; [ChatCommand("ONLINE", "(list|online)")] public static void WhoIsOnline(Match messageMatch, ChatClient connection, string sender) { var players = API.MainServer.Server.Instance.Players; StringBuilder sb = new StringBuilder($"Online Users ({players.Length}):\n"); foreach (var p in players) { sb.AppendFormat("{0} ({1})\n", p.accountId.displayName, p.accountId.publicId); } connection.PublishMessage(ChatListener.ChatName, sb.ToString().TrimEnd()); } [ChatCommand("VERSION", "version")] public static void CeleryVersion(Match messageMatch, ChatClient connection, string sender) { string versionStr = $"CLre {CLre.Instance.Version}\nCardLife {Game.Utilities.VersionReader.GetVersion()}\nUnity {UnityEngine.Application.version}"; connection.PublishMessage(ChatListener.ChatName, versionStr); } [ChatCommand("HELP", "help")] public static void Halp(Match messageMatch, ChatClient connection, string sender) { connection.PublishMessage(ChatListener.ChatName, HELP_STRING); } } }