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)
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)
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")
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)
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)
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)
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)
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)
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)
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)
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()
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)
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)