public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { switch (args.Parameters[0].ToLower()) { default: break; case "-get": args.Parameters.RemoveAt(0); OnGet(args.Parameters, args); return; case "-set": args.Parameters.RemoveAt(0); OnSet(args.Parameters, args); return; case "-priority": args.Channel.SendMessageAsync("Priority:\n```\nLow = 0\nNormal = 1\nHigh = 2\nASAP = 3\n```"); return; case "-status": args.Channel.SendMessageAsync("Priority:\n```\nUnread = 0\nOpen = 1\nNeedsConfirmation = 2\nWIP = 3\nClosed = 4\nArchived = 5\n```"); return; case "-tag": args.Channel.SendMessageAsync("Priority:\n```\nNone = 0\nCommentator = 1\nStreamer = 2\nMappoolSelector = 4\nReferee = 8\nDeveloper = 16\nOrganizer = 32\n```"); return; } OnAdd(args); }
public LANGameLoadingLobby(WindowManager windowManager, List <GameMode> gameModes, LANColor[] chatColors, DiscordHandler discordHandler) : base(windowManager, discordHandler) { encoding = ProgramConstants.LAN_ENCODING; this.gameModes = gameModes; this.chatColors = chatColors; localGame = ClientConfiguration.Instance.LocalGame; hostCommandHandlers = new LANServerCommandHandler[] { new ServerStringCommandHandler(CHAT_COMMAND, Server_HandleChatMessage), new ServerStringCommandHandler(FILE_HASH_COMMAND, Server_HandleFileHashMessage), new ServerNoParamCommandHandler(READY_STATUS_COMMAND, Server_HandleReadyRequest), }; playerCommandHandlers = new LANClientCommandHandler[] { new ClientStringCommandHandler(CHAT_COMMAND, Client_HandleChatMessage), new ClientStringCommandHandler(OPTIONS_COMMAND, Client_HandleOptionsMessage), new ClientNoParamCommandHandler(GAME_LAUNCH_COMMAND, Client_HandleStartCommand), new ClientNoParamCommandHandler(ProgramConstants.LAN_PING_COMMAND, Client_HandlePingCommand) }; WindowManager.GameClosing += WindowManager_GameClosing; }
private static async Task Main() { try { Config.Instance = Config.Load(CONFIG_PATH); Logging.SetFileLogger(Config.Instance.LogPath); while (Config.Instance.Token == null || Config.Instance.Token == "") { Console.WriteLine("Enter token:"); Config.Instance.Token = Console.ReadLine(); } Config.Instance.Save(CONFIG_PATH); _discordHandler = new DiscordHandler(); await _discordHandler.Initialize(); Console.WriteLine($"Type admin commands here."); } catch (Exception e) { Logging.Log(e); throw; } while (true) { HandleCommand(Console.ReadLine()); } }
public MainMenuDarkeningPanel(WindowManager windowManager, DiscordHandler discordHandler) : base(windowManager) { this.discordHandler = discordHandler; DrawBorders = false; DrawMode = ControlDrawMode.UNIQUE_RENDER_TARGET; AlphaRate = 0.0f; }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { foreach (var guild in client.Guilds) { guild.Value.Owner.SendMessageAsync(args.ParameterString).Wait(); } }
private void attachBtn_Click(object sender, EventArgs e) { APIHandler.Attach(); apiLabel.Text = "Attached"; ConsoleH.Attached(); DiscordHandler.AttachState(); }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { char prefix = args.Config?.Prefix ?? Program.DiscordHandler.CommandHandler.CommandPrefix; int page = 1; if (args.Parameters.Count > 0) { if (char.IsDigit(args.Parameters[0][0])) { if (int.TryParse(args.Parameters[0], out int page_)) { args.Parameters.RemoveAt(0); page = page_; } } if (args.Parameters.Count > 0 && ShowHelp(handler, args, prefix)) { return; } } ListCommands(handler, args, prefix, page); }
public MultiplayerGameLobby(WindowManager windowManager, string iniName, TopBar topBar, MapLoader mapLoader, DiscordHandler discordHandler) : base(windowManager, iniName, mapLoader, true, discordHandler) { TopBar = topBar; MapLoader = mapLoader; chatBoxCommands = new List <ChatBoxCommand> { new ChatBoxCommand("HIDEMAPS", "Hide map list (game host only)", true, s => HideMapList()), new ChatBoxCommand("SHOWMAPS", "Show map list (game host only)", true, s => ShowMapList()), new ChatBoxCommand("FRAMESENDRATE", "Change order lag / FrameSendRate (default 7) (game host only)", true, s => SetFrameSendRate(s)), new ChatBoxCommand("MAXAHEAD", "Change MaxAhead (default 0) (game host only)", true, s => SetMaxAhead(s)), new ChatBoxCommand("PROTOCOLVERSION", "Change ProtocolVersion (default 2) (game host only)", true, s => SetProtocolVersion(s)), new ChatBoxCommand("LOADMAP", "Load a custom map with given filename from /Maps/Custom/ folder.", true, LoadCustomMap), new ChatBoxCommand("RANDOMSTARTS", "Enables completely random starting locations (Tiberian Sun based games only).", true, s => SetStartingLocationClearance(s)), new ChatBoxCommand("ROLL", "Roll dice, for example /roll 3d6", false, RollDiceCommand), new ChatBoxCommand("SAVEOPTIONS", "Save game option preset so it can be loaded later", false, HandleGameOptionPresetSaveCommand), new ChatBoxCommand("LOADOPTIONS", "Load game option preset", true, HandleGameOptionPresetLoadCommand) }; }
private void executeBtn_Click(object sender, EventArgs e) { SlurpEditorString = webBrowser1.DocumentText; APIHandler.Execute(); apiLabel.Text = "Executed"; ConsoleH.Executed(); DiscordHandler.ExecuteState(); }
private void settingsShow_Click(object sender, EventArgs e) { executorPanel.Hide(); homePanel.Hide(); scriptsPanel.Hide(); settingsPanel.Show(); webBrowser1.Hide(); DiscordHandler.Settings(); }
private void executorShow_Click(object sender, EventArgs e) { homePanel.Hide(); settingsPanel.Hide(); executorPanel.Show(); scriptsPanel.Show(); webBrowser1.Show(); DiscordHandler.IdleState(); }
public LANLobby(WindowManager windowManager, GameCollection gameCollection, List <GameMode> gameModes, MapLoader mapLoader, DiscordHandler discordHandler) : base(windowManager) { this.gameCollection = gameCollection; this.gameModes = gameModes; this.mapLoader = mapLoader; this.discordHandler = discordHandler; }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { args.Parameters[0] = args.Parameters[0].Trim('<', '>', '@', '!'); DiscordUser user = null; if (ulong.TryParse(args.Parameters[0], out ulong uid)) { try { user = client.GetUserAsync(uid).ConfigureAwait(false).GetAwaiter().GetResult(); } catch (Exception) { } } if (user == null) { args.Channel.SendMessageAsync($"User {args.Parameters[0]} not found"); return; } DiscordEmbedBuilder builder = new DiscordEmbedBuilder() { Title = $"Userinfo for {user.Username} ({user.Id})", ThumbnailUrl = user.AvatarUrl, Timestamp = DateTime.UtcNow }; using DBContext c = new DBContext(); User u = c.User.FirstOrDefault(u => u.DiscordUserId == (long)uid); if (u != null) { builder.AddField("Osu UserId", u.OsuUserId.ToString(CultureInfo.CurrentCulture)); } if (args.Guild != null) { try { DiscordMember dmember = args.Guild.GetMemberAsync(uid).ConfigureAwait(false).GetAwaiter().GetResult(); builder.AddField("Join Date", dmember.JoinedAt.ToString(CultureInfo.CurrentCulture)); } catch (Exception) { } } builder.AddField("Created On", user.CreationTimestamp.UtcDateTime.ToString(CultureInfo.CurrentCulture)); builder.AddField("Verified", (u != null).ToString(CultureInfo.CurrentCulture)); args.Channel.SendMessageAsync(embed: builder.Build()); }
private void OnMatchCommand(DiscordHandler client, CommandEventArg args) { using DBContext c = new DBContext(); long matchId = -1; //team a vs team b if (args.Parameters.Count > 1) { StringBuilder vsSb = new StringBuilder(); for (int i = 0; i < args.Parameters.Count; i++) { vsSb.Append(" " + args.Parameters[i]); } vsSb.Remove(0, 1); string matchName = vsSb.ToString(); matchId = c.SeasonResult.FirstOrDefault(sr => sr.MatchName.Equals(matchName, StringComparison.CurrentCultureIgnoreCase) && sr.DiscordGuildId == (long)args.Guild.Id)?.Id ?? -1; } else //matchid { if (!int.TryParse(args.Parameters[0], out int mid)) { HelpCommand.ShowHelp(args.Channel, this); return; } matchId = mid; if (!c.SeasonResult.Any(sr => sr.MatchId == matchId && sr.DiscordGuildId == (long)args.Guild.Id)) { client.SendSimpleEmbed(args.Channel, "Could not find match " + matchId).ConfigureAwait(false); return; } } DiscordEmbed embed = GetMatchEmbedFromDB((int)matchId); if (embed == null) { DiscordEmbedBuilder builder = new DiscordEmbedBuilder() { Title = "Could not find match ", Description = Resources.InvisibleCharacter }; embed = builder.Build(); } args.Channel.SendMessageAsync(embed: embed); }
private async void Slurp_Load(object sender, EventArgs e) { DiscordHandler.DiscordID(); DiscordHandler.DiscordStart(); ConsoleH.AllocConsole(); ConsoleH.Welcome(); //browser// WebClient wc = new WebClient(); wc.Proxy = null; try { RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Internet Explorer\\Main\\FeatureControl\\FEATURE_BROWSER_EMULATION", true); string friendlyName = AppDomain.CurrentDomain.FriendlyName; bool flag2 = registryKey.GetValue(friendlyName) == null; if (flag2) { registryKey.SetValue(friendlyName, 11001, RegistryValueKind.DWord); } registryKey = null; friendlyName = null; } catch (Exception) { } webBrowser1.Url = new Uri(string.Format("file:///{0}/Monaco/Monaco.html", System.IO.Path.GetDirectoryName(Application.ExecutablePath))); await Task.Delay(500); webBrowser1.Document.InvokeScript("SetTheme", new string[] { "Dark" /* * There are 2 Themes Dark and Light */ }); addBase(); addMath(); addGlobalNS(); addGlobalV(); addGlobalF(); webBrowser1.Document.InvokeScript("SetText", new object[] { "-- Slurp Juice --" }); // ListH.PopulateListBox(scriptsList, @"C:\Visual Studio Projects\Slurp Juice\Lua", "*.lua"); ListH.PopulateListBox(scriptsList, @"C:\Visual Studio Projects\Slurp Juice\Lua", "*.txt"); executorPanel.Hide(); settingsPanel.Hide(); scriptsPanel.Hide(); homePanel.Show(); webBrowser1.Hide(); CheckVersion(); }
private void discordRPCBtn_OnChange(object sender, EventArgs e) { if (discordRPCBtn.Checked) { DiscordHandler.ShutDown(); } else { DiscordHandler.SettingsStart(); } }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { using DBContext c = new DBContext(); Action <long> ac; switch (args.Parameters[0].ToLower()) { default: case "add": ac = new Action <long>(l => { WarmupBeatmap wb = c.WarmupBeatmaps.FirstOrDefault(wb => wb.BeatmapId == l); if (wb != null) { return; } wb = new WarmupBeatmap() { BeatmapId = l, DiscordGuildId = (long)args.Guild.Id }; c.WarmupBeatmaps.Add(wb); c.SaveChanges(); }); break; case "delete": ac = new Action <long>(l => { WarmupBeatmap wb = c.WarmupBeatmaps.FirstOrDefault(wb => wb.BeatmapId == l); if (wb == null) { return; } c.WarmupBeatmaps.Remove(wb); c.SaveChanges(); }); break; } foreach (long mapId in GetMaps(args.Parameters)) { ac(mapId); } args.Channel.SendMessageAsync("Added/Deleted maps"); }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { if (OsuAnalyzer.ClearMatches(args.Guild)) { args.Channel.SendMessageAsync($"All matches removed\nCache is getting updated, this might take a moment"); OsuAnalyzer.UpdateCaches(args.Guild); args.Channel.SendMessageAsync("Cache was updated"); } else { args.Channel.SendMessageAsync("No matches found"); } }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { if (!bool.TryParse(args.Parameters[0], out bool status)) { HelpCommand.ShowHelp(args.Channel, this, "Failed to parse status"); return; } string message = args.ParameterString.Remove(0, args.Parameters[0].Length + 1); Program.MaintenanceScanner.SetMaintenanceStatus(status, message); args.Channel.SendMessageAsync($"Set status to: {status} and message to: {message}"); }
public ApplicationHandler() { ircHandler = new IrcHandler(); ircHandler.MessageReceived += Twitch_MessageReceived; ircHandler.MessageReceived += Twitch_CheckForCommands; discordHandler = new DiscordHandler(); discordHandler.RunBotAsync().GetAwaiter().GetResult(); discordHandler.client.MessageReceived += Discord_MessageReceived; form = new FrontForm(); form.StartConnection += Form_StartConnection; form.ShowForm(); }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { if (!args.Parameters[0].Equals("reset", StringComparison.CurrentCultureIgnoreCase)) { AccessLevel newAccess; if (args.Parameters[1].TryParseEnum(out AccessLevel acc)) { newAccess = acc; } else { HelpCommand.ShowHelp(args.Channel, this, string.Format(CultureInfo.CurrentCulture, ResourceExceptions.FailedParseException, "Access Level")); return; } if (newAccess == AccessLevel.Dev) { HelpCommand.ShowHelp(args.Channel, this, "Dev can only be set via DB"); return; } if (!handler.SetCommandAccessLevel(args.Parameters[0], args.Guild.Id, newAccess)) { client.SendSimpleEmbed(args.Channel, "Failed to change accesslevel", "Command not found or command not overwrittable").ConfigureAwait(false); } else { client.SendSimpleEmbed(args.Channel, "Accesslevel changed", "Changed commands accesslevel").ConfigureAwait(false); } } else { using DBContext c = new DBContext(); CommandAccess ca = c.CommandAccess.FirstOrDefault(ca => ca.DiscordGuildId == (long)args.Guild.Id && ca.TypeName.StartsWith(args.Parameters[1], StringComparison.CurrentCultureIgnoreCase)); if (ca != null) { c.CommandAccess.Remove(ca); c.SaveChanges(); client.SendSimpleEmbed(args.Channel, "Resetted", "Resetted command " + args.Parameters[1]).ConfigureAwait(false); } else { client.SendSimpleEmbed(args.Channel, "Not Found/Resetted", "Could not find command or command already resetted").ConfigureAwait(false); } } }
private void saveBtn_Click(object sender, EventArgs e) { DiscordHandler.SaveState(); SaveFileDialog save = new SaveFileDialog(); save.Filter = "Lua File|*.lua"; save.Title = "Save file"; if (save.ShowDialog() == DialogResult.OK) { DiscordHandler.SavedState(); System.IO.StreamWriter save2 = new System.IO.StreamWriter(save.FileName); save2.Write(webBrowser1.DocumentText); save2.Close(); } }
/// <summary> /// Creates a new instance of the main menu. /// </summary> public MainMenu(WindowManager windowManager, SkirmishLobby skirmishLobby, LANLobby lanLobby, TopBar topBar, OptionsWindow optionsWindow, CnCNetLobby cncnetLobby, CnCNetManager connectionManager, DiscordHandler discordHandler) : base(windowManager) { this.skirmishLobby = skirmishLobby; this.lanLobby = lanLobby; this.topBar = topBar; this.connectionManager = connectionManager; this.optionsWindow = optionsWindow; this.cncnetLobby = cncnetLobby; this.discordHandler = discordHandler; cncnetLobby.UpdateCheck += CncnetLobby_UpdateCheck; isMediaPlayerAvailable = IsMediaPlayerAvailable(); }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { if (!long.TryParse(args.Parameters[0], out long matchId)) { return; } OsuAnalyzer.RemoveMatch(matchId, args.Guild); args.Channel.SendMessageAsync($"Removed match {matchId}\nCache is getting updated, this might take a moment").ConfigureAwait(false).GetAwaiter().GetResult(); OsuAnalyzer.UpdateCaches(args.Guild); args.Channel.SendMessageAsync("Cache was updated"); }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { switch (args.Parameters[0].ToLower(System.Globalization.CultureInfo.CurrentCulture)) { case "list": args.Parameters.RemoveAt(0); ShowList(args); return; case "remove": args.Parameters.RemoveAt(0); Remove(args); return; default: if (args.Parameters.Count < 2) { HelpCommand.ShowHelp(args.Channel, this); return; } break; } DateTime?date = ParseDate(args.Parameters, 0, 62); if (!date.HasValue) { HelpCommand.ShowHelp(args.Channel, this, "Could not parse date"); return; } args.Parameters.RemoveAt(0); StringBuilder msg = new StringBuilder(args.Parameters[0]); for (int i = 1; i < args.Parameters.Count; i++) { msg.Append(' ' + args.Parameters[i]); } using DBContext c = new DBContext(); var reminder = c.Reminder.Add(new SkyBot.Database.Models.Reminder((long)args.User.Id, (long)args.Channel.Id, msg.ToString(), date.Value)).Entity; c.SaveChanges(); args.Channel.SendMessageAsync("Created your reminder with id " + reminder.Id + " for date: " + reminder.EndDate); }
private void openBtn_Click(object sender, EventArgs e) { DiscordHandler.OpenState(); open.Filter = "Lua File|*.lua"; open.Title = "Open a file"; if (open.ShowDialog() == DialogResult.OK) { DiscordHandler.OpenedState(); System.IO.StreamReader reader = new System.IO.StreamReader(open.FileName); webBrowser1.Document.InvokeScript("SetText", new object[] { reader.ReadToEnd() }); reader.Close(); } }
private static void OnTeamProfile(DiscordHandler client, CommandEventArg args) { (string, long)userParsed = TryParseIdOrUsernameString(args.Parameters); string teamName = userParsed.Item1; SeasonTeamCardCache stcc = GetTeam(args.Guild, teamName); if (stcc == null) { client.SendSimpleEmbed(args.Channel, "Could not find team " + teamName).ConfigureAwait(false); return; } args.Channel.SendMessageAsync(embed: GetTeamEmbed(stcc.TeamName, stcc.AverageAccuracy, (int)stcc.AverageScore, stcc.AverageMisses, (int)stcc.AverageCombo, stcc.AverageGeneralPerformanceScore, stcc.TotalMatchMVPs, stcc.AverageOverallRating, stcc.TeamRating, stcc.MVPName)); }
private async Task WatchForOnlineDetails(Game.OnlineProperties online) { if (online.ServerHttpPort == null) { return; } var httpPort = online.ServerHttpPort.Value; string joinSecret = null, matchSecret = null; while (_presence?.IsDisposed == false) { try { var data = await KunosApiProvider.GetInformationDirectAsync(online.ServerIp, online.ServerHttpPort.Value); var currentSession = data.SessionTypes?.ArrayElementAtOrDefault(data.Session); if (currentSession > 0) { _presence.Details = ((Game.SessionType)currentSession).GetDescription(); } if (joinSecret == null) { var password = data.Password && OnlineServer.IncludePasswordToInviteLink ? online.Password : null; joinSecret = DiscordHandler.GetJoinSecret(online.ServerIp, httpPort, password); matchSecret = DiscordHandler.GetMatchSecret(online.ServerIp, httpPort, password); } _presence.End = DateTime.Now + TimeSpan.FromSeconds(data.TimeLeft - Math.Round(data.Timestamp / 1000d)); _presence.Party = new DiscordParty(data.Id) { Capacity = data.Capacity, Size = data.Clients, JoinSecret = joinSecret, MatchSecret = matchSecret, }; _presence.ForceUpdate(); } catch (Exception e) { Logging.Warning(e.Message); } await Task.Delay(BuildInformation.IsDebugConfiguration? 3000 : 15000); } }
public void Invoke(DiscordHandler client, CommandHandler handler, CommandEventArg args) { switch (args.Parameters[0].ToLower(CultureInfo.CurrentCulture)) { case "exampleprofile": case "ep": args.Channel.SendMessageAsync(embed: GSStatisticHandler.GetTestProfile()).ConfigureAwait(false); break; case "get": args.Parameters.RemoveAt(0); GetUser(args); break; default: HelpCommand.ShowHelp(args.Channel, this); return; } }
private static void EditEmbed(DiscordHandler client, CommandEventArg args, DiscordEmbed embed, string content, ulong channelId, ulong messageId, DiscordGuild guild) { DiscordChannel channel; DiscordMessage message; try { channel = guild.GetChannel(channelId); message = channel.GetMessageAsync(messageId).ConfigureAwait(false).GetAwaiter().GetResult(); } catch (DSharpPlus.Exceptions.NotFoundException) { throw new ReadableCmdException("Could not find the discord channel"); } message.ModifyAsync(string.IsNullOrEmpty(content) ? default : content, embed).ConfigureAwait(false).GetAwaiter().GetResult(); client.SendSimpleEmbed(args.Channel, "Embed modified").ConfigureAwait(false); }