def spend(game,params,user_id,user_name): """ Let a user spend one of their dice """ dice = game.get_user_dice(user_id) try: die = Die(params=params) except InvalidDie: return SlackResponse('Format is w5 or white 5 (or b1 or black 1)') for i,d in enumerate(dice): if die.to_json() == d.to_json(): del dice[i] game.set_user_dice(user_id,dice) return SlackResponse("%s spent %s" % (user_name, die.to_emoji()),True) return SlackResponse("You don't have a %s" % die.to_emoji())
def spend(game, params, user_id, user_name): """ Let a user spend one of their dice """ dice = game.get_user_dice(user_id) try: die = Die(params=params) except InvalidDie: return SlackResponse('Format is w5 or white 5 (or b1 or black 1)') for i, d in enumerate(dice): if die.to_json() == d.to_json(): del dice[i] game.set_user_dice(user_id, dice) return SlackResponse("%s spent %s" % (user_name, die.to_emoji()), True) return SlackResponse("You don't have a %s" % die.to_emoji())
def give(game, params, user_id, user_name): """ Give one of your dice to someone else """ if len(params) < 2: return SlackResponse("Usage: /fiasco die slack_name") from_player = game.get_user(user_id) if not from_player: return SlackResponse( "You are not registered as a player. Please type /fiasco register your_game_name" ) # Load up our user and desired die slack_name = params[-1].replace('@', '') # Allow use of @ if slack_name == 'pool': to_player_id = 'pool' else: to_player_id = game.get_user_id_for_slack_name(slack_name) if not to_player_id: return SlackResponse('No player found with slack name "%s"' % slack_name) try: die = Die(params=params[0:-1]) except InvalidDie: return SlackResponse('Format is w5 or white 5 (or b1 or black 1)') if not game.take_die_from(die, user_id): return SlackResponse(u'%s does not have a %s' % (user_name, die)) if slack_name == 'pool': dice = game.dice dice.append(die) game.dice = dice else: game.give_die_to(die, to_player_id) return SlackResponse( u"%s gave %s to %s" % (user_name, die.to_emoji(), slack_name), True)
def give(game,params,user_id,user_name): """ Give one of your dice to someone else """ if len(params) < 2: return SlackResponse("Usage: /fiasco die slack_name") from_player = game.get_user(user_id) if not from_player: return SlackResponse("You are not registered as a player. Please type /fiasco register your_game_name") # Load up our user and desired die slack_name = params[-1].replace('@','') # Allow use of @ if slack_name == 'pool': to_player_id = 'pool' else: to_player_id = game.get_user_id_for_slack_name(slack_name) if not to_player_id: return SlackResponse('No player found with slack name "%s"' % slack_name) try: die = Die(params=params[0:-1]) except InvalidDie: return SlackResponse('Format is w5 or white 5 (or b1 or black 1)') if not game.take_die_from(die,user_id): return SlackResponse(u'%s does not have a %s' % (user_name, die)) if slack_name == 'pool': dice = game.dice dice.append(die) game.dice = dice else: game.give_die_to(die,to_player_id) return SlackResponse(u"%s gave %s to %s" % (user_name,die.to_emoji(),slack_name),True)
def take(game,params,user_id,user_name): """ Take a specific die from the pool """ if len(params) < 1: return SlackResponse("Usage: /fiasco take color number") # Validate try: die = Die(params=params) except InvalidDie: return SlackResponse('Format is w5 or white 5 (or b1 or black 1') # Find die user_dice = game.get_user_dice(user_id) or [] if game.take_die_from_pool(die): user_dice.append(die) game.set_user_dice(user_id,user_dice) return SlackResponse ("%s claimed %s.\nPool: %s" % (user_name, die.to_emoji(),game.format_dice_pool(game.dice) or 'Empty'),True) return SlackResponse(u"Could not find a %s" % die)
def take(game, params, user_id, user_name): """ Take a specific die from the pool """ if len(params) < 1: return SlackResponse("Usage: /fiasco take color number") # Validate try: die = Die(params=params) except InvalidDie: return SlackResponse('Format is w5 or white 5 (or b1 or black 1') # Find die user_dice = game.get_user_dice(user_id) or [] if game.take_die_from_pool(die): user_dice.append(die) game.set_user_dice(user_id, user_dice) return SlackResponse( "%s claimed %s.\nPool: %s" % (user_name, die.to_emoji(), game.format_dice_pool(game.dice) or 'Empty'), True) return SlackResponse(u"Could not find a %s" % die)