Example #1
0
    async def giveaway_command(self, ctx):
        winners = self.client.global_variables.giveaway_winners
        log.info("Previous giveaway winners are: " + UserUtils.print_names(winners))
        channel = self.client.get_channel(Config.GIVEAWAY_VOICE_CHANNEL_ID)
        channel_members = channel.members
        log.info("Giveaway channel members are: " + UserUtils.print_names(channel_members))

        # channel_members = TestUtils.generate_players_list(14)
        # spectators = TestUtils.generate_players_list(3, UserUtils.IDLE)
        # channel_members.extend(spectators)

        prev_winners_msg = self.generate_prev_winners_msg(winners)
        contenders = ListUtils.remove_sub_list(channel_members, winners)
        log.info("Giveaway contenders are: " + UserUtils.print_names(contenders))
        if not contenders:
            log.info("No contenders for giveaway")
            await ctx.send(embed=discord.Embed(title=giveaway_title,
                                               description=prev_winners_msg + '\n' + "No contenders!",
                                               color=discord.Color.blue()))
            return

        player_lottery_msg = self.generate_players_lottery_msg(self, contenders)

        random_index = ListUtils.get_rand_index(contenders)
        new_winner = contenders[random_index]
        log.info("The new winner is: " + UserUtils.get_nick_or_name(new_winner))
        winners.append(new_winner)
        await ctx.send(embed=discord.Embed(title=giveaway_title,
                                           description=giveaway_desc.format(prev_winners_msg, player_lottery_msg,
                                                                            new_winner.mention),
                                           color=discord.Color.blue()))
Example #2
0
 def get_rand_declare_msg():
     index = ListUtils.get_rand_index(funny_declare_msgs)
     return funny_declare_msgs[index]
Example #3
0
 def get_random_map(maps):
     rand_index = ListUtils.get_rand_index(maps)
     return maps[rand_index]