Beispiel #1
0
        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;
        }
Beispiel #3
0
        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());
            }
        }
Beispiel #4
0
 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();
     }
 }
Beispiel #6
0
 private void attachBtn_Click(object sender, EventArgs e)
 {
     APIHandler.Attach();
     apiLabel.Text = "Attached";
     ConsoleH.Attached();
     DiscordHandler.AttachState();
 }
Beispiel #7
0
        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)
            };
        }
Beispiel #9
0
 private void executeBtn_Click(object sender, EventArgs e)
 {
     SlurpEditorString = webBrowser1.DocumentText;
     APIHandler.Execute();
     apiLabel.Text = "Executed";
     ConsoleH.Executed();
     DiscordHandler.ExecuteState();
 }
Beispiel #10
0
 private void settingsShow_Click(object sender, EventArgs e)
 {
     executorPanel.Hide();
     homePanel.Hide();
     scriptsPanel.Hide();
     settingsPanel.Show();
     webBrowser1.Hide();
     DiscordHandler.Settings();
 }
Beispiel #11
0
 private void executorShow_Click(object sender, EventArgs e)
 {
     homePanel.Hide();
     settingsPanel.Hide();
     executorPanel.Show();
     scriptsPanel.Show();
     webBrowser1.Show();
     DiscordHandler.IdleState();
 }
Beispiel #12
0
 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;
 }
Beispiel #13
0
        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());
        }
Beispiel #14
0
        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);
        }
Beispiel #15
0
        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();
        }
Beispiel #16
0
 private void discordRPCBtn_OnChange(object sender, EventArgs e)
 {
     if (discordRPCBtn.Checked)
     {
         DiscordHandler.ShutDown();
     }
     else
     {
         DiscordHandler.SettingsStart();
     }
 }
Beispiel #17
0
        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");
        }
Beispiel #18
0
 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");
     }
 }
Beispiel #19
0
        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}");
        }
Beispiel #20
0
        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();
        }
Beispiel #21
0
        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);
                }
            }
        }
Beispiel #22
0
        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();
 }
Beispiel #24
0
        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");
        }
Beispiel #25
0
        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);
        }
Beispiel #26
0
 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();
     }
 }
Beispiel #27
0
        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));
        }
Beispiel #28
0
        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);
            }
        }
Beispiel #29
0
        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;
            }
        }
Beispiel #30
0
        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);
        }