예제 #1
0
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)
예제 #2
0
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
예제 #3
0
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)
예제 #4
0
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)