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