Ejemplo n.º 1
0
    async def _eq_elevated_queue(self, context: Context, student: str,
                                 instructor: str):
        """
        Manages the placing of a student into an instructor's elevated queue
        :param context: Object containing information about the caller
        :param student: The student that is being sent into another instructor's queue
        :param instructor: The instructor that the student is being sent to
        :return: None
        """

        member_conv = MemberConverter()
        try:
            student_id, instructor_id = await gather(
                member_conv.convert(context, student),
                member_conv.convert(context, instructor))
            self.instructor_queue[instructor_id].append(student_id)
            logger.debug(
                f"{context.author} has placed {student_id} into {instructor_id}'s queue"
            )
            recipient = await userToMember(instructor_id, context.bot)
            await recipient.send(
                f"{instructor_id} placed {student_id} in your elevated queue")
            if student in self.bad_dq_counter:
                del self.bad_dq_counter[student]

        except BadArgument:
            logger.error(f"{context.author} gave the incorrect arguments"
                         f" for the eq command: {student} and {instructor}")
            await context.author.send(
                "One of the users you entered is not a valid user")
Ejemplo n.º 2
0
    async def rw_player(self, ctx, player=None):
        """Player profile.

        player can be a player tag or a Discord member.
        """
        server = ctx.message.server
        author = ctx.message.author
        member = None
        tag = None

        if player is None:
            tag = self.settings.get(server.id, {}).get(author.id)
        else:
            try:
                cvt = MemberConverter(ctx, player)
                member = cvt.convert()
            except BadArgument:
                # cannot convert to member. Assume argument is a tag
                tag = clean_tag(player)
            else:
                tag = self.settings.get(server.id, {}).get(member.id)

        if tag is None:
            await self.bot.say("Can’t find tag associated with user.")
            return

        try:
            p = await self.api.fetch_player(tag)
        except RushWarsAPIError as e:
            await self.bot.say("RushWarsAPIError")
        else:
            await self.bot.say(embed=RWEmbed.player(p))