def generate_frames(comment_dict, is_multiple=True): """ :param comment_dict: comment dictionary :param is_multiple """ movies = get_list_of_movie_dicts() episodes = get_list_of_episode_dicts() for frame in comment_dict["content"]: request = Request( frame, movies, episodes, comment_dict, is_multiple, ) if request.is_minute: request.handle_minute_request() else: try: request.handle_quote_request() except exceptions.ChainRequest: request.handle_chain_request() yield request break yield request
def comment_post(post_id, published=False, episode=False): """ :param post_id: Facebook post ID :param published :param episode """ api_obj = FB_TV if episode else FB if episode: episodes_len = len(get_list_of_episode_dicts()) comment = (f"Explore the collection ({episodes_len} episodes): " f"{WEBSITE}/collection-tv") else: movies_len = len(get_list_of_movie_dicts()) comment = ( f"Explore the collection ({movies_len} Movies):\n{WEBSITE}\n" f"Are you a top user?\n{WEBSITE}/users/all\n" 'Request examples:\n"!req Taxi Driver [you talking to me?]"\n"' '"!req Stalker [20:34] {TOTAL DURATION}"') collage = os.path.join(POSTERS_DIR, choice(os.listdir(POSTERS_DIR))) logger.info(f"Found poster collage: {collage}") if not published: return api_obj.post( path=f"{post_id}/comments", source=open(collage, "rb"), message=comment, ) logger.info("Commented")
def search_item(query, return_dict=False): if is_episode(query): EPISODE_LIST = db.get_list_of_episode_dicts() result = search_episode(EPISODE_LIST, query, raise_resting=False) if not return_dict: return f"{BASE}/episode/{result['id']}" else: MOVIE_LIST = db.get_list_of_movie_dicts() result = search_movie(MOVIE_LIST, query, raise_resting=False) if not return_dict: return f"{BASE}/movie/{result['tmdb']}" return result
def comment_post(post_id, published=False, episode=False): """ :param post_id: Facebook post ID :param published :param episode """ api_obj = FB_TV if episode else FB if episode: episodes_len = len(get_list_of_episode_dicts()) comment = ( f"Become a patron and get access to on-demand requests: {PATREON}\n" f"Explore the collection ({episodes_len} episodes): " f"{WEBSITE}/collection-tv" ) else: movies_len = len(get_list_of_movie_dicts()) comment = ( f"Join the Discord server: {DISCORD_INVITE}\n" f"Explore the collection ({movies_len} movies):\n{WEBSITE}\n" f"Completely open-source:\n{GITHUB_REPO}\n\n" "If you donated before Feb 3, you'll get an email with an invitation" " for on-demand requests in the next days." ) collage = os.path.join(POSTERS_DIR, choice(os.listdir(POSTERS_DIR))) logger.info(f"Found poster collage: {collage}") if not published: return api_obj.post( path=f"{post_id}/comments", source=open(collage, "rb"), message=comment, ) logger.info("Commented")
from kinobot.request import search_episode, search_movie from kinobot.utils import ( check_current_playing_plex, get_id_from_discord, handle_kino_songs, is_episode, ) db.create_discord_db() bot = commands.Bot(command_prefix="!") BASE = "https://kino.caretas.club" GOOD_BAD = ("👍", "💩") MOVIE_LIST = db.get_list_of_movie_dicts() EPISODE_LIST = db.get_list_of_episode_dicts() 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))