#allows users to enter a raffle, owners to randomly select a winner, and saves winners to a text file for future reference import random, time raffle_set=set() raffle_list=[] def joinRaffle(bot, nick, msg): if nick in raffle_set: bot.say(nick+", you are already entered in the raffle") return raffle_list.append(nick) raffle_set.add(nick) bot.say(nick+", you have entered the raffle!") joinRaffle.commands=["^!joinRaffle$"] def pickWinner(bot, nick, msg): if len(raffle_list)>0: number=random.randrange(0, len(raffle_list)) winner = raffle_list[number] raffle_list.remove(winner) raffle_set.remove(winner) with open('winners.txt', 'w') as file: file.write(winner+" "+time.strftime("%a, %d %b %Y %H:%M:%S")+"\n") file.close() bot.say("Congrats, "+winner+", you won a prize from the raffle! (IF your twitch account is registered with our website, vespa.org.vt.edu)") else: bot.say("The raffle is empty!") pickWinner.privilege="owners" pickWinner.commands=["^!pickWinner$"] def quitRaffle(bot, nick, msg): if nick in raffle_set: raffle_set.remove(nick) raffle_list.remove(nick) bot.say(nick+", you have left the raffle.") return bot.say(nick+", you are not entered into the raffle.") quitRaffle.commands=["^!quitRaffle$"] def removeFromRaffle(bot, nick, msg): args=msg.split(None, 1) if args[1] in raffle_set: raffle_set.remove(args[1]) raffle_list.remove(args[1]) bot.say(nick+", you have been kicked from the raffle.") return bot.say(args[1]+" was not in the raffle") removeFromRaffle.privilege="owners" removeFromRaffle.commands=["^!raffleKick [^\s].+"] removeFromRaffle.usage=("raffleKick", "!raffleKick nick - drops nick from raffle") def clearRaffle(bot, nick, msg): raffle_set.clear() del raffle_list[:] clearRaffle.privilege="owners"