コード例 #1
0
        public static async Task Run(SocketSlashCommand command, DiscordSocketClient client, StorageClient storageClient, Dictionary <string, SocketSlashCommandDataOption> options, Guild guild, ISocketMessageChannel recruitingChannel, List <Team> teams)
        {
            var guildUser   = (SocketGuildUser)options["username"].Value;
            var discordUser = guildUser.Nickname ?? guildUser.Username;

            // Player not exist? -> respond with error
            (var oldTeam, var player) = Team.FindPlayer(teams, discordUser);
            if (player == null)
            {
                await command.FollowupAsync($"User {discordUser} does not exist in the recruiting table", ephemeral : true);

                return;
            }

            oldTeam.RemovePlayer(player);

            // Update old team message
            if (oldTeam.Players.Count > 0)
            {
                await recruitingChannel.ModifyMessageAsync(oldTeam.MsgId, (message) => message.Content = oldTeam.ToMessage());

                await storageClient.SaveTableRow(Team.TableName, oldTeam.Name, guild.RowKey, oldTeam);
            }
            else
            {
                await recruitingChannel.DeleteMessageAsync(oldTeam.MsgId);

                await storageClient.DeleteTableRow(Team.TableName, oldTeam.Name, guild.RowKey);
            }

            await command.FollowupAsync($"You have removed user {discordUser} from {oldTeam.Name}", ephemeral : true);
        }
コード例 #2
0
        public static async Task Run(SocketSlashCommand command, DiscordSocketClient client, StorageClient storageClient, Dictionary <string, SocketSlashCommandDataOption> options, Guild guild, ISocketMessageChannel recruitingChannel, List <Team> teams)
        {
            var teamName = options["team"].Value.ToString();

            // Player not exist? -> respond with error
            var team = Team.FindTeam(teams, teamName);

            if (team == null)
            {
                await command.FollowupAsync($"Team {teamName} does not exist in the recruiting table", ephemeral : true);

                return;
            }

            // Remove old team message
            await recruitingChannel.DeleteMessageAsync(team.MsgId);

            await storageClient.DeleteTableRow(Team.TableName, team.Name, guild.RowKey);

            await command.FollowupAsync($"You have removed team {teamName}", ephemeral : true);
        }