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()))
def get_rand_declare_msg(): index = ListUtils.get_rand_index(funny_declare_msgs) return funny_declare_msgs[index]
def get_random_map(maps): rand_index = ListUtils.get_rand_index(maps) return maps[rand_index]