示例#1
0
def handle_discord_request(ctx, command, args):
    request = " ".join(args)
    user_disc = ctx.author.name + ctx.author.discriminator
    username = db.get_name_from_discriminator(user_disc)

    try:
        request_dict = dissect_comment(f"!{command} {request}")
    except (MovieNotFound, EpisodeNotFound, OffensiveWord,
            InvalidRequest) as kino_exc:
        return f"Nope: {type(kino_exc).__name__}."

    request_id = str(randint(2000000, 5000000))

    if not request_dict:
        return "Invalid syntax."
    elif not username:
        return "You are not registered. Use `!register <YOUR NAME>`."

    try:
        db.insert_request((
            username[0],
            request_dict["comment"],
            request_dict["command"],
            request_dict["title"],
            "|".join(request_dict["content"]),
            request_id,
            1,
        ))
        return f"Added. ID: {request_id}; user: {username[0]}."
    except sqlite3.IntegrityError:
        return "Duplicate request."
示例#2
0
文件: post.py 项目: Vitor-Tx/kinobot
def handle_commands(comment_dict, is_multiple=True):
    """
    :param comment_dict: request dictionary
    :param is_multiple
    """
    requests = []
    if comment_dict["parallel"]:
        for parallel in comment_dict["parallel"]:
            new_request = dissect_comment(f"!req {parallel}")
            new_request["movie"] = new_request["title"]
            new_request["content"] = new_request["content"]
            new_request["comment"] = new_request["comment"]
            new_request["id"] = comment_dict["id"]
            new_request["parallel"] = comment_dict["parallel"]
            new_request["user"] = comment_dict["user"]
            new_request["is_episode"] = comment_dict["is_episode"]
            new_request["verified"] = comment_dict["verified"]
            new_request["type"] = "!parallel"
            requests.append(new_request)
    else:
        requests = [comment_dict]

    for request in requests:
        yield list(
            generate_frames(request,
                            is_multiple if len(requests) == 1 else True))
示例#3
0
async def request(ctx, *args):
    request = " ".join(args)
    user_disc = ctx.author.name + ctx.author.discriminator
    username = db.get_name_from_discriminator(user_disc)

    try:
        request_dict = dissect_comment("!req " + request)
    except (MovieNotFound, EpisodeNotFound, OffensiveWord) as kino_exc:
        return await ctx.send(f"Nope: {type(kino_exc).__name__}.")

    request_id = str(randint(2000000, 5000000))

    if not request_dict:
        message = "Invalid syntax. Usage: `!req TITLE [{quote,timestamp}]...`"
    elif not username:
        message = "You are not registered. Use `!register <YOUR NAME>`."
    else:
        try:
            db.insert_request(
                (
                    username[0],
                    request_dict["comment"],
                    request_dict["command"],
                    request_dict["title"],
                    "|".join(request_dict["content"]),
                    request_id,
                    1,
                )
            )
            message = f"Added. (User: `{username[0]}`; ID: `{request_id}`)."
        except sqlite3.IntegrityError:
            message = "Duplicate request."

    await ctx.send(message)