diff options
| -rw-r--r-- | bot/seasons/valentines/movie_generator.py | 59 | 
1 files changed, 59 insertions, 0 deletions
diff --git a/bot/seasons/valentines/movie_generator.py b/bot/seasons/valentines/movie_generator.py new file mode 100644 index 00000000..68f44654 --- /dev/null +++ b/bot/seasons/valentines/movie_generator.py @@ -0,0 +1,59 @@ +import discord +import logging +from discord.ext import commands +import random +import json +from urllib import parse, request +log = logging.getLogger(__name__) + + +class MovieGenerator: +    """ +    a cog that gives random romance movie suggestion to a user + +    """ + +    def __init__(self,bot): +        self.bot = bot + +    @commands.command() +    async def movie(self, ctx): +        # selecting a random int to parse it to the page parameter +        random_page = random.randint(0, 20) +        # TMDB api params +        params = {'api_key': 'Api key here.', +                  'language': 'en-US', +                  'sort_by': 'popularity.desc', +                  'include_adult': 'false', +                  'include_video': 'false', +                  'page': random_page, +                  'with_genres': '10749' +                  } +        # the api request url +        request_url = "https://api.themoviedb.org/3/discover/movie?" + parse.urlencode(params) +        with request.urlopen(request_url) as url: +            # loading the json file returned from the api +            data = json.loads(url.read().decode()) +            # selecting random result from results object in the json file +            selected_movie = random.choice(data['results']) + +        embed = discord.Embed( +            title=selected_movie['title'], +            description=selected_movie['overview'], +        ) +        embed.set_image(url='http://image.tmdb.org/t/p/w200/' + selected_movie['poster_path']) +        embed.add_field(name='release_date', value=selected_movie['release_date']) +        embed.add_field(name='rating', value=selected_movie['vote_average']) +        await ctx.send(embed=embed) + + +def setup(bot): +    bot.add_cog(MovieGenerator(bot)) +    log.debug("Random movie generator cog loaded!") + + + + + + +  |