Example #1
0
def receiveSMS():
    word = request.values.get('Body', '').strip().lower()
    killers_number = int(request.values.get('From', ''))
    game = models.Game.GamesByUserNumber[killers_number]

    users = game.getUsersByNumber()
    killer = users[killers_number]
    killer.messages.append(killer.name + ": " + word)
    if word in utils.WORDS:
        target = killer.target
        if word == target.secret_word:
            killer.kills(target)
            if len(users) > 2:
                return utils.sendSMS(killers_number, utils.getPartialCongrats() + 
                               " Your new target is: " + killer.target.name)
            else:
                for number, user in users.iteritems():
                    utils.sendSMS(number, "You freakin WON! Now you have the flower powers.")
                winners = ', '.join(user.name for user in users.values())
                for user in game.deadUsers():
                    utils.sendSMS(user.number, "Loser. Congratulate these bad boys: " + winners)
                games_to_delete.add(game)
                return 'ok'
        
    return utils.sendRulesSMS(killers_number)
Example #2
0
def main():
    #main function

    #read list of all stock
    stockList = readExcel()

    #Loop through all, add to topBuyList
    for item in stockList:
        print 'Stock is ' + item
        buyOrSell(item)

    #find top buy list
    topBuyList = dict(Counter(buyList).most_common(5))

    print 'Top shares to be bought are:'
    print topBuyList

    utils.sendSMS('buy ', topBuyList)
Example #3
0
def startGame():
    global games_to_delete
    for game in games_to_delete:
        game.delete()
    games_to_delete = set()
    game = models.Game()
    data = request.values['data']
    users = utils.parseUsers(data)
    bad_users = set()
    for user in users:
        if user.isInGame():
            utils.sendSMS(user.number, "Dude you are already in a game!")
            logging.warn("User: {0} {1} is already in a game!".format(
                    user.name, user.number))
            bad_users.add(user)
        else:
            try:
                utils.sendSMS(user.number, "Get ready. It's about to get real. "
                              "Your target will be sent shortly!")
            except twilio.TwilioRestException:
                logging.warn("User: {0} has an bad number: {1}".format(
                        user.name, user.number))
                bad_users.add(user)
    
    for bad_user in bad_users:
        users.remove(bad_user)

    if len(users) <= 2:
        message = "Sorry, there are not enough valid players. The game cannot start."
        for user in users:
            utils.sendSMS(user.number, message)
        return message

    else:
        for user in users:
            game.addUser(user)
        game.assignTargetsAndWords()
        for user in users:
            message = ("Welcome to the game, your target is: {0}. "
                       "Your secret word is: {1}".format(user.target.name, user.secret_word))
            utils.sendSMS(user.number, message)

        testing = any(user.number <= 0 for user in users)
        if testing:
            return "/test/" + game.name
        else:
            return "/games/" + game.name
Example #4
0
 def kills(killer, target):
     killer.target = target.target
     utils.sendSMS(target.number, killer.name + " killed you! You've been removed from the game.. sucker.")
     target.delete()