예제 #1
0
async def edit(guild_id, message, old_keyword, new_keyword):
    guild_data = data.get_guild_data(guild_id)
    guild_data["keywords"][new_keyword] = guild_data["keywords"].pop(
        old_keyword)
    await message.channel.send(embed=verbose.embeds.embed_successful_action("Keyword edited. "))

    data.set_guild_data(guild_id, guild_data)
예제 #2
0
async def remove(guild_id, message, message_removal):
    guild_data = data.get_guild_data(guild_id)
    try:
        guild_data["keywords"].pop(message_removal)
    except KeyError:
        await message.channel.send(embed=verbose.embeds.embed_warning_message("That keyword does not exist."))
    else:
        await message.channel.send(embed=verbose.embeds.embed_successful_action("Keyword removed. "))

    data.set_guild_data(guild_id, guild_data)
예제 #3
0
async def add(guild_id, message, keyword, value):
    guild_data = data.get_guild_data(guild_id)
    if value == "":
        await message.channel.send(embed=verbose.embeds.embed_warning_message("No value specified. "))
    else:
        if keyword in guild_data["keywords"]:
            guild_data["keywords"][keyword].append(value)
        else:
            guild_data["keywords"][keyword] = [value]
        await message.channel.send(embed=verbose.embeds.embed_successful_action("Keyword added. "))
    data.set_guild_data(guild_id, guild_data)
예제 #4
0
async def remove_flashcard_set(message):
    if not message.author.guild_permissions.administrator:
        await message.channel.send(embed=verbose.embeds.embed_warning_message("Sorry, you must be an administrator in this server to use that command."))
        return

    guild_id = str(message.guild.id)

    name_of_flashcard_set_to_remove = message.content.split()[3]
    flashcard_sets = data.get_guild_data(guild_id)["flashcard_sets"]

    if name_of_flashcard_set_to_remove not in flashcard_sets.keys():
        await message.channel.send(embed=verbose.embeds.embed_sorry_message("That flashcard set does not exist. Please check spelling and try again."))
        return

    guild_data = data.get_guild_data(guild_id)
    guild_data["flashcard_sets"].pop(name_of_flashcard_set_to_remove)
    data.set_guild_data(guild_id, guild_data)

    await message.channel.send(embed=verbose.embeds.embed_successful_action(f"Flashcard set `{name_of_flashcard_set_to_remove}` deleted."))
예제 #5
0
async def end_flashcard_creation(message):
    guild_id = str(message.guild.id)

    if not flashcard_data[guild_id]["flashcard_creation_in_progress"]:
        await message.channel.send(embed=verbose.embeds.embed_warning_message("You cannot end creation if no creation has started."))

    if message.author != flashcard_data[guild_id]["user"]:
        await message.channel.send(embed=verbose.embeds.embed_sorry_message("Only the flashcard set creator can end creation."))
        return

    flashcard_set_name = flashcard_data[guild_id]["current_flashcard_set_name"]
    guild_data = data.get_guild_data(guild_id)
    guild_data["flashcard_sets"][flashcard_set_name] = flashcard_data[guild_id]["current_flashcard_set"].copy()
    data.set_guild_data(guild_id, guild_data)

    await message.channel.send(embed=verbose.embeds.embed_successful_action(f"Your flashcard set `{flashcard_set_name}` has been saved."))

    # reset guild flashcard data 
    flashcard_data[guild_id] = DEFAULT_GUILD_FLASHCARD_DATA.copy()
예제 #6
0
async def save_queue(message):
    """
    save current queue as a preset with a name of the user's choice
    """
    guild_id = str(message.guild.id)

    if len(guild_vc_data[guild_id]["guild_queue"]) < 1:
        await message.channel.send(embed=verbose.embeds.embed_sorry_message(
            "Your current queue is empty."))
        return

    queue_to_save = [
        song_to_dict(song) for song in guild_vc_data[guild_id]["guild_queue"]
    ]

    queue_name = " ".join(message.content.split(" ")[3:])
    guild_data = data.get_guild_data(guild_id)
    guild_data["saved_queues"][queue_name] = queue_to_save
    data.set_guild_data(guild_id, guild_data)

    await message.channel.send(embed=verbose.embeds.embed_successful_action(
        f"Saved current queue preset as `{queue_name}`"))
예제 #7
0
async def edit_flashcard_set(message):
    guild_id = str(message.guild.id)

    name_of_flashcard_set_to_edit = message.content.split()[3]
    flashcard_sets = data.get_guild_data(guild_id)["flashcard_sets"]

    if name_of_flashcard_set_to_edit not in flashcard_sets.keys():
        await message.channel.send(embed=verbose.embeds.embed_sorry_message("That flashcard set does not exist. Please check spelling and try again."))
        return

    index_to_edit = int(message.content.split()[4]) - 1
    new_front, _, new_back = message.content.split('"')[1:4]
    edited_flashcard_set = flashcard_sets[name_of_flashcard_set_to_edit]
    flashcard_front_to_replace = list(flashcard_sets[name_of_flashcard_set_to_edit])[index_to_edit]

    edited_flashcard_set[new_front] = edited_flashcard_set.pop(flashcard_front_to_replace)
    edited_flashcard_set[new_front] = new_back

    guild_data = data.get_guild_data(guild_id)
    guild_data["flashcard_sets"][name_of_flashcard_set_to_edit] = edited_flashcard_set
    data.set_guild_data(guild_id, guild_data)

    message.channel.send(embed=verbose.embeds.embed_successful_action("Flashcard set edited."))