Пример #1
0
def brokenQueue(player: Member, roles: List[Role]) -> Embed:
    """
        Removes the active match that the author is in.

        Parameters:
            player: dicord.Member - The author of the message.
            roles: List[discord.Role] - The roles of the author of the message.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    if (not Queue.isBotAdmin(roles)):
        return ErrorEmbed(
            title="Permission Denied",
            desc="You do not have permission to break the queue without a majority."
        )

    msg = lbBrokenQueue(player)
    if (":white_check_mark:" in msg):
        return QueueUpdateEmbed(
            title="Popped Queue Removed",
            desc="The popped queue has been removed from active matches. You may now re-queue."
        ).add_field(
            name="Current Queue 0/6",
            value="Queue is empty."
        )

    return ErrorEmbed(
        title="Could Not Remove Queue",
        desc=msg
    )
Пример #2
0
def NormQ() -> List[str or Embed]:
    playerList = Queue.getQueueList()
    queueSize = Queue.getQueueLength()
    blueTeam, orangeTeam = Queue.getTeamList()
    blueCap, orangeCap = Queue.getCaptains()
    embed = None

    if (Queue.queueAlreadyPopped() or queueSize == 6):
        embed = ErrorEmbed(
            title="Current Lobby Not Set",
            desc="Whoa there Norm! You can't queue until the current queue has finished popping."
        )

    elif (len(playerList) == 0):
        embed = QueueUpdateEmbed(
            title="Norm has Started the Queue!",
            desc="<@629502587963572225> wants to queue!\n\nQueued for 0 minutes.\n\nType **!q** to join",
        )

    else:
        embed = QueueUpdateEmbed(
            title="Norm Added to Queue",
            desc="<@629502587963572225> has been added to the queue for 0 minutes.\n\n"
            "**Queue size: " + str(queueSize + 1) + "/6**\n\n"
            "**Current Queue:**\nNorm (0 mins)\n" + playerList
        )
        return embed

    edited_embed = CaptainsRandomHelpEmbed(embed, blueTeam, orangeTeam, blueCap, orangeCap)

    return edited_embed
Пример #3
0
def captains(player: Member) -> Embed:
    """
        Pops the queue and randomly assigns two captains. Will show captains if captains are already set.

        Parameters:
            player: dicord.Member - The author of the message.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    if (Queue.getQueueLength() != 6):
        return ErrorEmbed(
            title="Queue is Not Full",
            desc="You cannot pop a queue until is full."
        )

    if (not Queue.isPlayerInQueue(player)):
        return ErrorEmbed(
            title="Not in Queue",
            desc="You are not in the queue, therefore you cannot pop the queue."
        ).add_field(
            name="Queue Popped!",
            value="React to the \U0001F1E8 or \U0001F1F7 for captains or random.\n",
            inline=False
        ).add_field(
            name="Current Queue " + str(Queue.getQueueLength()) + "/6",
            value=Queue.getQueueList(),
            inline=False
        )

    blueCap, orangeCap = Queue.captainsPop()
    playerList = Queue.getQueueList(includeTimes=False, includeLetters=True)

    if (Queue.queueAlreadyPopped()):
        blueTeam, _ = Queue.getTeamList()

        return CaptainsPopEmbed(
            blueCap,
            orangeCap,
            playerList
        )

    return CaptainsPopEmbed(
        blueCap,
        orangeCap,
        playerList
    )
Пример #4
0
def fill(roles: List[Role]) -> Embed:
    if (Queue.isBotAdmin(roles)):
        TestHelper.fillQueue()
        return AdminEmbed(title="Queue Filled",
                          desc="Queue has been filled with fake/real players")

    return ErrorEmbed(title="Permission Denied",
                      desc="You do not have permission to fill the queue.")
Пример #5
0
def flipCap(roles: List[Role]) -> Embed:
    if (Queue.isBotAdmin(roles)):
        TestHelper.flipCaptains()
        return AdminEmbed(title="Captains Flipped",
                          desc="Captains have been flipped.")

    return ErrorEmbed(title="Permission Denied",
                      desc="You do not have permission to flip the captains.")
Пример #6
0
def flipReport(roles: List[Role]) -> Embed:
    if (Queue.isBotAdmin(roles)):
        TestHelper.swapReportedPlayer()
        return AdminEmbed(title="Reported Player Swapped",
                          desc="The player who reported has been swapped out.")

    return ErrorEmbed(
        title="Permission Denied",
        desc="You do not have permission to flip the reporting player.")
Пример #7
0
async def forceReport(mentions: str, roles: List[Role], lbChannel: Channel, *arg) -> Embed:
    if (Queue.isBotAdmin(roles)):

        if (len(arg) == 2 and "<@!" in arg[0]):
            split = mentions.split("<@!")
            if (str(arg[1]).lower() == Team.BLUE):
                player_id = split[1][:-6]
            elif(str(arg[1]).lower() == Team.ORANGE):
                player_id = split[1][:-8]
            else:
                return ErrorEmbed(
                    title="You Must Report A Valid Team",
                    desc="You did not supply a valid team to report."
                )

            if (player_id.isdigit()):
                msg = reportMatch(player_id, arg[1], True)

                if (msg):
                    try:
                        # if match was reported successfully, update leaderboard channel
                        await updateLeaderboardChannel(lbChannel)
                    except Exception as e:
                        print("! Norm does not have access to update the leaderboard.", e)

                    return AdminEmbed(
                        title="Match Force Reported Successfully",
                        desc="You may now re-queue."
                    )
            else:
                return ErrorEmbed(
                    title="Did Not Mention a Player",
                    desc="You must mention one player who is in the match you want to report."
                )
        else:
            ErrorEmbed(
                title="Did Not Mention a Player",
                desc="You must mention one player who is in the match you want to report."
            )
    else:
        return ErrorEmbed(
            title="Permission Denied",
            desc="You do not have the strength to force report matches. Ask an admin if you need to force report a match." # noqa
        )
Пример #8
0
def leave(player: Member) -> Embed:
    """
        Removes author from the Queue.

        Parameters:
            player: discord.Member - The author of the message. The person being removed from the queue.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    username = player.display_name

    if (Queue.queueAlreadyPopped()):
        return ErrorEmbed(
            title="Queue Already Popped",
            desc="TOO LATE! You should've left before captains were picked."
        )

    if (Queue.isPlayerInQueue(player)):

        Queue.removeFromQueue(player)
        playerList = Queue.getQueueList()

        if(Queue.getQueueLength() != 0):
            return QueueUpdateEmbed(
                title="Player Left Queue",
                desc=username + " has left the queue."
            ).add_field(
                name="Remaining Players (" + str(Queue.getQueueLength()) + "/6)",
                value=playerList
            )
        return QueueUpdateEmbed(
            title="Player Left Queue",
            desc=username + " has left the queue.\n\n"
            "Queue is now empty.\n\n"
            "Join the queue by reacting to the ✅.\n"
        )

    playerList = Queue.getQueueList()
    embed = ErrorEmbed(
        title="Not in Queue",
        desc="You are not in the queue, react to the ✅ to join if there is space.\n"
    )
    if (Queue.getQueueLength() == 6):
        embed.add_field(
            name="Queue Popped!",
            value="React to the \U0001F1E8 or \U0001F1F7 for captains or random.\n",
            inline=False
        )
    embed.add_field(
        name="Queued Players (" + str(Queue.getQueueLength()) + "/6)",
        value="Queue is empty." if playerList == "" else playerList
    )

    return embed
Пример #9
0
def random(player: Member) -> Embed:
    """
        Pops the queue and randomly assigns players to teams.

        Parameters:
            player: dicord.Member - The author of the message.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    if (Queue.queueAlreadyPopped()):
        return ErrorEmbed(
            title="Captains Already Chosen",
            desc="You cannot change your mind once you pick captains."
        )

    if (Queue.getQueueLength() != 6):
        return ErrorEmbed(
            title="Queue is Not Full",
            desc="You cannot pop a queue until is full."
        )

    if (not Queue.isPlayerInQueue(player)):
        return ErrorEmbed(
            title="Not in Queue",
            desc="You are not in the queue, therefore you cannot pop the queue."
        ).add_field(
            name="Queue Popped!",
            value="React to the \U0001F1E8 or \U0001F1F7 for captains or random.\n",
            inline=False
        ).add_field(
            name="Current Queue " + str(Queue.getQueueLength()) + "/6",
            value=Queue.getQueueList(),
            inline=False
        )

    blueTeam, orangeTeam = Queue.randomPop()
    Leaderboard.startMatch(blueTeam, orangeTeam)
    return PlayersSetEmbed(blueTeam, orangeTeam)
Пример #10
0
def clear(roles: List[Role]) -> Embed:
    """
        Clears the current queue if the author has the Bot Admin role.

        Parameters:
            roles: List[discord.Role] - The roles of the author of the message.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    if(Queue.isBotAdmin(roles)):
        Queue.clearQueue()
        return AdminEmbed(
            title="Queue Cleared",
            desc="The queue has been cleared by an admin.  <:UNCCfeelsgood:538182514091491338>"
        )

    return ErrorEmbed(
        title="Permission Denied",
        desc="You do not have permission to clear the queue."
    )
Пример #11
0
def blueTeamPick(pickedPlayer: BallChaser, blueCap: BallChaser,
                 orangeCap: BallChaser) -> Embed:
    """
        Helper function for the !pick command when blue team is picking.

        Parameters:
            pickedPlayer: BallChaser - The player that has been picked.
            blueCap: BallChaser - The blue team captain.
            orangeCap: BallChaser - The orange team captain.

        Returns:
            discord.Embed - An embedded message to send.

    """

    errorMsg = Queue.pick(pickedPlayer)

    if (errorMsg == ""):

        return QueueUpdateEmbed(
            title="Player Added to Team",
            desc="🔷 " + blueCap.name + " 🔷 picked " + pickedPlayer.mention
        ).add_field(name="\u200b", value="\u200b", inline=False).add_field(
            name="🔶 " + orangeCap.name + " 🔶 please pick 2️⃣ players.",
            value=
            "Pick a player from the list below by reacting to the numbers.",
            inline=False).add_field(name="\u200b",
                                    value="\u200b",
                                    inline=False).add_field(
                                        name="Available picks",
                                        value=Queue.getQueueList(
                                            includeTimes=False,
                                            includeLetters=True),
                                        inline=False)

    return ErrorEmbed(title="Player Not in Queue", desc=errorMsg)
Пример #12
0
def brokenQueue(player: Member) -> Embed:
    """
        Removes the active match that the author is in.

        Parameters:
            player: dicord.Member - The author of the message.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    msg = Leaderboard.brokenQueue(player)
    if (":white_check_mark:" in msg):
        return QueueUpdateEmbed(
            title="Popped Queue Removed",
            desc="The popped queue has been removed from active matches. You may now re-queue."
        ).add_field(
            name="Current Queue 0/6",
            value="Queue is empty."
        )

    return ErrorEmbed(
        title="Could Not Remove Queue",
        desc=msg
    )
Пример #13
0
def pick(player: Member, reactionNumber: int) -> Embed:
    """
        Assigns picked players to their respective teams.

        Parameters:
            player: discord.Member - The author of the message
            reactionNumber: int - The picked player by reaction.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    if (not Queue.queueAlreadyPopped()):
        return ErrorEmbed(
            title="Captains Not Set",
            desc="If queue is full, please react to the \U0001F1E8 or \U0001F1F7"  # noqa | regional indicator C / regional indicator R
        )

    blueCap, orangeCap = Queue.captainsPop()

    blueTeam, orangeTeam = Queue.getTeamList()

    if (Queue.isPlayerInQueue(player)):
        if (Queue.validateBluePick(player)):
            availablePicks = Queue.getAvailablePicks()
            return blueTeamPick(availablePicks[reactionNumber - 1], blueCap, orangeCap)
        if (len(blueTeam) == 1):
            if (not Queue.validateBluePick(player)):
                return ErrorEmbed(
                    title="Not the Blue Captain",
                    desc="You are not 🔷 BLUE Team Captain 🔷\n\n"
                    "🔷 BLUE Team Captain 🔷 is: " + blueCap.mention
                ).add_field(
                    name="🔷 " + blueCap.name.split("#")[0] + " 🔷 picks first. \n"
                    "🔶 ORANGE Team Captain 🔶 is: " + orangeCap.name.split("#")[0],
                    value="Pick a player from the list below by reacting to the numbers.\n",
                    inline=False
                ).add_field(
                    name="\u200b",
                    value="\u200b",
                    inline=False
                ).add_field(
                    name="Available picks",
                    value=Queue.getQueueList(includeTimes=False, includeLetters=True),
                    inline=False
                )

        if (Queue.validateOrangePick(player)):
            availablePicks = Queue.getAvailablePicks()
            return orangeTeamPick(availablePicks[reactionNumber - 1], orangeTeam, blueCap, orangeCap)
        if (len(blueTeam) == 2):
            if (not Queue.validateOrangePick(player)):
                return ErrorEmbed(
                    title="Not the Orange Captain",
                    desc="You are not 🔶 ORANGE Team Captain 🔶 \n\n"
                    "🔶 ORANGE Team Captain 🔶 is: " + orangeCap.mention
                ).add_field(
                    name="🔶 " + orangeCap.name.split("#")[0] + " 🔶 picks second. \n"
                    "🔷 BLUE Team Captain 🔷 is: " + blueCap.name.split("#")[0],
                    value="Pick a player from the list below by reacting to the numbers.\n",
                    inline=False
                ).add_field(
                    name="\u200b",
                    value="\u200b",
                    inline=False
                ).add_field(
                    name="Available picks",
                    value=Queue.getQueueList(includeTimes=False, includeLetters=True),
                    inline=False
                )
    else:
        if (len(blueTeam) == 1):
            return ErrorEmbed(
                title="Not in Queue",
                desc="You are not in the queue!\n",
            ).add_field(
                name="🔷 " + blueCap.name.split("#")[0] + " 🔷 picks first. \n"
                "🔶 ORANGE Team Captain 🔶 is: " + orangeCap.name.split("#")[0],
                value="Pick a player from the list below by reacting to the numbers.\n",
                inline=False
            ).add_field(
                name="\u200b",
                value="\u200b",
                inline=False
            ).add_field(
                name="Available picks",
                value=Queue.getQueueList(includeTimes=False, includeLetters=True),
                inline=False
            )
        if (len(blueTeam) == 2):
            return ErrorEmbed(
                title="Not in Queue",
                desc="You are not in the queue!\n",
            ).add_field(
                name="🔶 " + orangeCap.name.split("#")[0] + " 🔶 picks second. \n"
                "🔷 BLUE Team Captain 🔷 is: " + blueCap.name.split("#")[0],
                value="Pick a player from the list below by reacting to the numbers.\n",
                inline=False
            ).add_field(
                name="\u200b",
                value="\u200b",
                inline=False
            ).add_field(
                name="Available picks",
                value=Queue.getQueueList(includeTimes=False, includeLetters=True),
                inline=False
            )
Пример #14
0
def leaderboard(author: Member, mentions: str, lbChannelId: int, *arg) -> Embed:
    """
        Shows the leaderboard. Shows top 5 if no one mentioned. Shows player stats if mentioned or used keyword "me".

        Parameters:
            author: discord.Member - The author of the message
            mentions: str - The content in the message.
            *arg - The rest of the args in the message.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    playerMentioned: bool = False
    selfRank: bool = False
    if (len(arg) > 0):
        if ("<@!" in arg[0]):
            split = mentions.split("<@!")
            player_id = split[1][:-1]
            if (player_id.isdigit()):
                playerMentioned = True
        elif (arg[0] == "me"):
            selfRank = True

    blueTeam, orangeTeam = Queue.getTeamList()
    blueCap, orangeCap = Queue.getCaptains()

    if (playerMentioned or selfRank):
        player = player_id if playerMentioned else str(author.id)
        players_rank = Leaderboard.showLeaderboard(player)
        member = Leaderboard.getBallChaser(player)

        if (type(players_rank) == str and member):
            embed = InfoEmbed(
                title="Leaderboard Placement for {0}".format(member["Name"].split("#")[0]),
                desc=players_rank
            )
            edited_embed = CaptainsRandomHelpEmbed(embed, blueTeam, orangeTeam, blueCap, orangeCap)
            return edited_embed

        embed = ErrorEmbed(
            title="No Matches Played",
            desc="{0} hasn't played any matches and won't show up on the leaderboard.".format(arg[0])
        )
        edited_embed = CaptainsRandomHelpEmbed(embed, blueTeam, orangeTeam, blueCap, orangeCap)
        return edited_embed

    elif (len(arg) == 0 and playerMentioned == False):
        if (Leaderboard.countLeaderboard() >= 6):
            viewFullLb = "\nTo see the full leaderboard, visit <#{0}>.".format(lbChannelId) if (lbChannelId != -1) else "" # noqa
            embed = InfoEmbed(
                title="UNCC 6 Mans | Top 5",
                desc=Leaderboard.showLeaderboard(limit=5) + viewFullLb
            )
            edited_embed = CaptainsRandomHelpEmbed(embed, blueTeam, orangeTeam, blueCap, orangeCap)
            return edited_embed
        else:
            embed = ErrorEmbed(
                title="No Leaderboard!",
                desc="There are currently no leaderboard statistics!"
            )
            edited_embed = CaptainsRandomHelpEmbed(embed, blueTeam, orangeTeam, blueCap, orangeCap)
            return edited_embed

    else:
        embed = ErrorEmbed(
            title="Leaderboard Command Help",
            desc="Mention someone to see their rank, use 'me' to see your rank,"
            " include nothing to see the top 5 on the leaderboard."
        )
        edited_embed = CaptainsRandomHelpEmbed(embed, blueTeam, orangeTeam, blueCap, orangeCap)
        return edited_embed
Пример #15
0
def playerQueue(player: Member, *arg, quiet: bool = False) -> List[str or Embed]:
    """
        Adds the author to the Queue for the specified amount of time.

        Parameters:
            player: discord.Member - The author of the message. The person being removed from the queue.
            *arg: tuple - The args passed into the client function.
            quiet: bool (optional, default is False) - Specifies whether to include @here ping in channel.

        Returns:
            dicord.Embed - The embedded message to respond with.
    """
    queue_length = Queue.getQueueLength()

    try:
        queueTime = int(arg[0]) if len(arg) > 0 else 60
    except ValueError:  # if someone doesn't input a number we default to 60 minutes
        queueTime = 60

    # this converts the input to the next highest value of 10
    # ex: 14 -> 20, 9 -> 10, -5 -> 10, 3 -> 10
    queueTime = int(ceil(queueTime / 10)) * 10

    # minimum queue time of 10 minutes and maximum of 60 minutes
    if (queueTime < 10):
        queueTime = 10
    elif (queueTime > 60):
        queueTime = 60

    if (Queue.queueAlreadyPopped()):
        return [ErrorEmbed(
            title="Current Lobby Not Set",
            desc="Please wait until current lobby has been set.",
        )]

    if (Queue.isPlayerInQueue(player) and Queue.getQueueLength() != 6):
        Queue.resetPlayerQueueTime(player, queueTime)
        playerList = Queue.getQueueList()
        return [QueueUpdateEmbed(
            title="Already in Queue, Queue Time Reset",
            desc="You're already in the queue, but your queue time has been reset to {0} minutes.".format(queueTime),
        ).add_field(
            name="Current Queue (" + str(queue_length) + "/6)",
            value=playerList
        )]

    if (Queue.isPlayerInQueue(player) and Queue.getQueueLength() == 6):
        Queue.resetPlayerQueueTime(player, queueTime)
        playerList = Queue.getQueueList()
        return [QueueUpdateEmbed(
            title="Already in Queue, Queue Time Reset",
            desc="You're already in the queue, but your queue time has been reset to {0} minutes.".format(queueTime),
        ).add_field(
            name="Queue Popped!",
            value="**React to the \U0001F1E8 or \U0001F1F7 for captains or random.**\n\n"
            "**Current Queue (" + str(queue_length) + "/6)**\n" + playerList,
            inline=False
        )]

    if (Leaderboard.getActiveMatch(player) is not None):
        return [ErrorEmbed(
            title="Your previous match has not been reported yet.",
            desc="React to the 🔷 or 🔶 to report the match.\n"
            "One player from each team must report the match.\n"
            "You will not be able to queue again until the match has been reported!"
        ).add_field(
            name="React to the 💔 to broken queue.",
            value="There must be at least 4️⃣ players that want to broken queue.",
            inline=False
        )]

    if(queue_length == 0):
        Queue.addToQueue(player, queueTime)

        if (quiet):
            return [QueueUpdateEmbed(
                title="Queue has Started :shushing_face:",
                desc="{0} wants to queue!\n\nQueued for {1} minutes.\n\n"
                "React to the ✅ to join".format(player.mention, queueTime),
            )]

        return ["@here Queue has started!",
                QueueUpdateEmbed(
                    title="Queue Started",
                    desc="{0} wants to queue!\n\nQueued for {1} minutes.\n\n"
                    "React to the ✅ to join".format(player.mention, queueTime),
                )]

    if (queue_length >= 6):
        playerList = Queue.getQueueList()
        return [ErrorEmbed(
            title="Queue Already Full",
            desc="Queue is already full, please wait until the current queue is set and try again.",
        ).add_field(
            name="Queue Popped!",
            value="React to the \U0001F1E8 or \U0001F1F7 for captains or random.\n",
            inline=False
        ).add_field(
            name="Current Queue " + str(queue_length) + "/6",
            value=playerList
        )]

    if (queue_length == 5):
        Queue.addToQueue(player, queueTime)
        playerList = Queue.getQueueList()
        mentionedPlayerList = Queue.getQueueList(mentionPlayers=True, separator=", ")

        return [QueueUpdateEmbed(
            title="Queue Popped!",
            desc=player.mention + " has been added to the queue for " + str(queueTime) + " minutes.\n\n"
            "**Queue is now full!** \n\n"
            "React to the \U0001F1E8 or \U0001F1F7 for captains or random.\n"
        ).add_field(
            name="Current Queue " + str(queue_length + 1) + "/6",
            value=playerList
        ),
            "Queue has popped! Get ready!\n" + mentionedPlayerList]

    Queue.addToQueue(player, queueTime)
    playerList = Queue.getQueueList()

    return [QueueUpdateEmbed(
        title="Player Added to Queue",
        desc=player.mention + " has been added to the queue for " + str(queueTime) + " minutes."
    ).add_field(
        name="Current Queue " + str(queue_length + 1) + "/6",
        value=playerList
    )]
Пример #16
0
def kick(mentions: str, roles: List[Role], *arg) -> Embed:
    """
        Kicks the mentioned player from the queue. Requires Bot Admin role.

        Parameters:
            mentions: str - The content of the message.
            roles: List[discord.Role] - The roles of the author of the message.
            *arg: - The arguments in the message.

        Returns:
            discord.Embed - The embedded message to respond with.
    """
    blueTeam, orangeTeam = Queue.getTeamList()
    blueCap, orangeCap = Queue.getCaptains()

    if (len(arg) > 0 and "<@!" in arg[0]):
        split = mentions.split("<@!")
        player_id = split[1][:-1]

        if (player_id.isdigit()):
            embed = None

            if (not Queue.isBotAdmin(roles)):
                embed = ErrorEmbed(
                    title="Permission Denied",
                    desc="You do not have the leg strength to kick other players."
                )

            elif (Queue.queueAlreadyPopped()):
                embed = ErrorEmbed(
                    title="Queue Already Popped",
                    desc="Can't kick players while picking teams."
                )

            elif (Queue.getQueueLength() == 0):
                embed = ErrorEmbed(
                    title="Queue is Empty",
                    desc="The queue is empty, what are you doing?"
                )

            elif (not Queue.isPlayerInQueue(player_id)):
                embed = ErrorEmbed(
                    title="User Not in Queue",
                    desc="To see who is in current queue, type: **!list**"
                )

            else:
                member = Queue.getPlayerFromQueue(player_id)
                Queue.removeFromQueue(player_id)
                embed = AdminEmbed(
                    title="Kicked Player",
                    desc="Removed {0} from the queue".format(member["name"].split("#")[0])
                )

            edited_embed = CaptainsRandomHelpEmbed(embed, blueTeam, orangeTeam, blueCap, orangeCap)
            return edited_embed

    embed = ErrorEmbed(
        title="Did Not Mention a Player",
        desc="Please mention a player in the queue to kick."
    )
    edited_embed = CaptainsRandomHelpEmbed(embed, blueTeam, orangeTeam, blueCap, orangeCap)
    return edited_embed