def get_theme(update, context): if DEBUG: print(update) if DataPacket.is_seed_generated: if DataPacket.theme is None: DataPacket.theme = DataPacket.make_theme_object() mega_suggestion_list = [] tokens = [] for data in DataPacket.members.values(): mega_suggestion_list += data["suggestions"] tokens += data["token"] DataPacket.theme["theme"] = SeedGenerator.get_theme( mega_suggestion_list, DataPacket.seed) DataPacket.theme["is_theme_generated"] = 1 IO.save_file_json( Constants.DATA_PATH + Constants.DATA_THEME_FILENAME, DataPacket.theme) context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.GENERATED_THEME_IS % DataPacket.theme["theme"]) else: context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.THEME_ALREADY_SELECTED % "theme") else: context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.SEED_NOT_GENERATED)
def collecting_tokens(update, context): if DEBUG: print(update) print(2) if update.effective_chat.type == "group": username = update.effective_user.username text = update.message.text.split(' ') print(text) if username in DataPacket.members: if len(text) == 2: if text[1] == DataPacket.members[username]["token"]: DataPacket.members[username]["token_received"] = True IO.save_file_json( Constants.DATA_PATH + Constants.DATA_MEMBERS_FILENAME, DataPacket.members) context.bot.send_message( chat_id=update.effective_chat.id, text=Messages.TOKEN_RECEIVED_FROM % username) tokens_not_received = check_tokens_received(DataPacket.members) if len(tokens_not_received) != 0: context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.WAITING_FOR_TOKEN_FROM % str(tokens_not_received)) return COLLECTING_TOKENS elif len(tokens_not_received) == 0: context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.ALL_TOKENS_RECEIVED) return get_seed(update, context) else: context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.MUST_BE_IN_GROUP) return COLLECTING_TOKENS
def collecting_suggestions(update, context): if DEBUG: print(update) suggestions = update.message.text.split(',') for suggestion in suggestions: suggestion = suggestion.lower() if len(suggestion) == 0: continue if suggestion in DataPacket.members[ update.effective_user.username]["suggestions"]: continue DataPacket.members[ update.effective_user.username]["suggestions"].append(suggestion) IO.save_file_json(Constants.DATA_PATH + Constants.DATA_MEMBERS_FILENAME, DataPacket.members) context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.SUGGESTIONS_ADDED) return finished_adding_suggestions(update, context)
def generate_token(update, context): if DEBUG: print(update) print("User %s requested token" % update.effective_user.username) if DataPacket.is_process_started: if update.effective_chat.type != "group": username = update.effective_user.username if username not in DataPacket.members: member = DataPacket.make_member_object(username) DataPacket.members.update(member) DataPacket.members[username]["token"] = str(uuid.uuid4()) IO.save_file_json( Constants.DATA_PATH + Constants.DATA_MEMBERS_FILENAME, DataPacket.members) context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.GENERATED_TOKEN_IS % DataPacket.members[username]["token"]) print("\tToken generated: %s" % DataPacket.members[username]["token"]) else: context.bot.send_message( chat_id=update.effective_chat.id, text=Messages.TOKEN_ALREADY_GENERATED % DataPacket.members[username]["token"]) print("\tUser already has token: %s" % DataPacket.members[username]["token"]) else: context.bot.send_message( chat_id=update.effective_chat.id, text=Messages.CANNOT_REQUEST_TOKEN_IN_GROUP) else: context.bot.send_message(chat_id=update.effective_chat.id, text=Messages.SELECTION_NOT_STARTED)