Exemple #1
0
def prev_player(update, context):
    print("prev_player")
    try:
        context.bot.delete_message(update.effective_chat.id,
                                   update.message.message_id)
    except:
        pass

    chat_id = update.effective_chat.id
    games = Game.objects(creator_id=chat_id, status__ne="Finished")
    print("nagoo nagoo nemiam")
    if len(games) == 0:
        print("games:", len(game))
        update_message(context.bot, player, "فعلا تو بازی‌ای نیستی D:")
        return
    print("nagoo nagoo nemiam")
    if len(games) > 1:
        print("nakon dige")
        return
    print("omido par dadan")
    game = games[0]
    game.active_player_index = (game.active_player_index - 1) % len(
        game.players)
    print("dige sakhte baram aam")
    # current_word = GameManager.get_random_word(game)
    game.status = "Waiting"
    print("hala ke")

    game.save()
    print("daste goldoon")
    game.reload()
    print("be sagheye")
    update_statuses(context.bot, game)

    context.bot.delete_message(chat_id, update.message.message_id)
Exemple #2
0
def next_player(update, context):
    print("next_player")
    chat_id = update.effective_chat.id
    try:
        context.bot.delete_message(chat_id, update.message.message_id)
    except:
        pass
    games = Game.objects(creator_id=chat_id, status__ne="Finished")
    print("nagoo nagoo nemiam")
    if len(games) == 0:
        print("games:", len(game))
        update_message(context.bot, player, "فعلا تو بازی‌ای نیستی D:")
        return
    if len(games) > 1:
        print("nakon dige")
        return
    game = games[0]
    game.active_player_index = (game.active_player_index + 1) % len(
        game.players)
    current_word = GameManager.get_random_word(game)
    game.status = "Waiting"
    game.save()
    game.reload()
    update_statuses(context.bot, game)

    context.bot.delete_message(chat_id, update.message.message_id)
Exemple #3
0
def start_game(update, context):
    print("start_game")

    try:
        context.bot.delete_message(update.effective_chat.id,
                                   update.message.message_id)
    except:
        pass

    games = Game.objects(creator_id=update.effective_chat.id,
                         status__ne="Finished")
    print("yare ghadimi")
    print(games)
    print(len(games))
    if len(games) != 1:
        print("Aghaa!")
        return
    print("manam hamoon")
    game = games[0]
    print("havadare ghadimi")
    game.status = "Waiting"
    game.save()
    # GameManager.reset(game)
    print("hanooz hamoon")
    game.reload()
    print("kharabatio mastam")
    current_word = GameManager.get_random_word(game)
    print("vali bi to")
    update_statuses(context.bot, game)
    print("sabooye may shekastam")
Exemple #4
0
def correct(update, context):
    print("correct")

    chat_id = update.effective_chat.id
    try:
        context.bot.delete_message(chat_id, update.message.message_id)
    except:
        pass
    
    games = Game.objects(players=chat_id, status__ne="Finished")

    if len(games) == 0:
        print("games:", len(game))
        update_message(context.bot, player, "فعلا تو بازی‌ای نیستی D:")
        return

    if len(games) > 1:
        print("nakon dige")
        return 

    game = games[0]
    if game.players[game.active_player_index] == chat_id:
        game.teams[game.active_player_index % (len(game.players)//2)].score += 1
        game.save()
        game.update(pull__remaining_words=game.current_word)
        game.reload()
        try:
            GameManager.get_random_word(game)
        except:
            GameManager.reset(game)
            game.status = "Team Assignment"
    game.save()
    game.reload()
    update_statuses(context.bot, game)
Exemple #5
0
def start(update, context):
    print("start")
    try:
        context.bot.delete_message(update.effective_chat.id,
                                   update.message.message_id)
    except:
        pass

    chat_id = update.effective_chat.id
    name = str(update.effective_chat.first_name) + " " + str(
        update.effective_chat.last_name)
    players = Player.objects(chat_id=chat_id)
    if len(players) != 0:
        players[0].name = name
        players[0].save()
    else:
        new_player = Player(chat_id=chat_id, name=name)
        new_player.save()
        update_message(context.bot, new_player, text=start_text)

    if len(context.args):
        game_id = context.args[0]
        result, game = GameManager.add_player(game_id, chat_id)
        if result:
            update_statuses(context.bot, game)
Exemple #6
0
 def res():
     game.reload()
     if game.status != "Playing" or player_index != game.active_player_index:
         print("Bright/Forceful man :D")
         return
     game.status = "Waiting"
     game.active_player_index = (game.active_player_index + 1) % len(
         game.players)
     game.save()
     game.reload()
     update_statuses(telegram_bot, game)
Exemple #7
0
def create(update, context):
    try:
        context.bot.delete_message(update.effective_chat.id, update.message.message_id)
    except: 
        pass 

    creator_id = update.effective_chat.id
    if len(Game.objects(players=creator_id, status__ne="Finished")) != 0:
        return

    game_id = GameManager.create_game(creator_id)
    res, game = GameManager.add_player(game_id, creator_id)
    update_statuses(context.bot, game)
    # context.bot.send_message(chat_id=creator_id, text=reply_message % game_id)
    
Exemple #8
0
def assign_teams(update, context):
    print("assign_teams")
    try:
        context.bot.delete_message(update.effective_chat.id, update.message.message_id)
    except:
        pass
    print(update.__dict__)
    games = Game.objects(creator_id=update.effective_chat.id, status__ne="Finished")
    if len(games) != 1:
        print("len(games) = {}".format(len(games)))
        return
    game = games[0]
    GameManager.assign_teams(game)
    if game:
        game.status = "Team Assignment"
        game.save()
        update_statuses(context.bot, game)
Exemple #9
0
def start_getting_words(update, context):
    print("start_getting_words")
    try:
        context.bot.delete_message(update.effective_chat.id,
                                   update.message.message_id)
    except:
        pass

    games = Game.objects(creator_id=update.effective_chat.id,
                         status__ne="Finished")
    if len(games) != 1:
        return

    game = games[0]
    game.status = "Getting Words"
    game.save()
    update_statuses(context.bot, game)

    context.bot.delete_message(chat_id, update.message.message_id)
Exemple #10
0
def add_word(update, context):
    print("add word")
    try:
        context.bot.delete_message(update.effective_chat.id,
                                   update.message.message_id)
    except:
        pass

    games = Game.objects(players=update.effective_chat.id,
                         status="Getting Words")
    if len(games) != 1:
        print("games:", len(games))
        return

    game = games[0]
    word = update.message.text.split("/add_word")[0].strip()
    print(word, game)
    if word != "":
        game = GameManager.add_words(game, word)
        update_statuses(context.bot, game)
Exemple #11
0
def start_turn(update, context):
    print("start turn")
    chat_id = update.effective_chat.id

    try:
        context.bot.delete_message(chat_id, update.message.message_id)
    except:
        pass

    games = Game.objects(players=chat_id, status="Waiting")
    if len(games) != 1:
        print("Ey Aghaa")
        return

    game = games[0]
    game.status = "Playing"
    game.save()
    game.reload()
    update_statuses(context.bot, game)
    print("{} second timer".format(game.rounds_timeout[game.active_round]))
    timer = Timer(game.rounds_timeout[game.active_round],
                  end_turn(context.bot, game, game.active_player_index))
    timer.start()
Exemple #12
0
def finish(update, context):
    print("finish")
    chat_id = update.effective_chat.id
    try:
        context.bot.delete_message(chat_id, update.message.message_id)
    except:
        pass

    games = Game.objects(creator_id=chat_id, status__ne="Finished")
    print("nagoo nagoo nemiam")
    if len(games) == 0:
        print("games:", len(game))
        update_message(context.bot, player, "فعلا تو بازی‌ای نیستی D:")
        return
    print("nagoo nagoo nemiam")
    if len(games) > 1:
        print("nakon dige")
        return
    print("omido par dadan")
    game = games[0]
    game.status = "Finished"
    game.save()
    game.reload()
    update_statuses(context.bot, game)
Exemple #13
0
def get_status(update, context):
    print("get_status")
    chat_id = update.effective_chat.id
    try:
        context.bot.delete_message(chat_id, update.message.message_id)
    except:
        pass

    games = Game.objects(players=chat_id, status__ne="Finished")
    player = Player.objects(chat_id=chat_id)[0]

    player.status_message_id = None
    player.save()

    if len(games) == 0:
        update_message(context.bot, player, "فعلا تو بازی‌ای نیستی D:")
        return

    if len(games) > 1:
        print("nakon dige")
        return

    game = games[0]
    update_statuses(context.bot, game)