Exemplo n.º 1
0
    def getembed(self, title):
        desc = str(self) + "\nVolume: {}%".format(int(
            self.player.volume * 100))
        if 'https://' in self.player.url:
            info_dict = self.player.yt.extract_info(self.player.url,
                                                    download=False)
            video_id = info_dict.get("id", None)
            em = dmbd.newembed(self.requester, title, desc, self.player.url)
            em.set_image(url='https://img.youtube.com/vi/' + video_id +
                         '/maxresdefault.jpg')
        else:
            em = dmbd.newembed(self.requester, title, desc)

        return em
Exemplo n.º 2
0
 async def PoF(self, ctx):
     coin = [":poop:", ":full_moon_with_face: "]
     msg = "C'est "
     author = ctx.message.author
     em = dmbd.newembed(author, msg + randchoice(coin))
     await self.bot.delete_message(ctx.message)
     await self.bot.say(embed=em)
Exemplo n.º 3
0
    async def stats(self, ctx):
        author = ctx.message.author
        title = 'Stats for ' + self.bot.user.name
        desc = 'Don\'t..t..t... look at my stats... Baka!'
        url = "https://github.com/xNinjaKittyx/"
        # trello = "Add Later"
        inviteurl = ("https://discordapp.com/api/oauth2/authorize?client_id=" +
                     self.bot.user.id + "&scope=bot&permissions=0")

        supporturl = "https://discord.gg/Fzz344U"

        em = dmbd.newembed(author, title, desc, url)
        em.add_field(name='Total Users', value=self.gettotalusers())
        em.add_field(name='Total Servers', value=len(self.bot.servers))
        em.add_field(name='Current Server Users',
                     value=len(ctx.message.server.members))
        em.add_field(name='Uptime', value=self.getuptime())
        em.add_field(name='CPU', value="{0:.2f}%".format(self.getcpuusage()))
        em.add_field(name='Memory',
                     value="{0:.2f} MB".format(self.getmemusage()))
        # em.add_field(name='Trello', value='[Trello Page]({})'.format(trello))
        em.add_field(name='Invite',
                     value='[Click Me :)]({})'.format(inviteurl))
        em.add_field(name='Support',
                     value='[Discord Link]({})'.format(supporturl))

        await self.bot.say(embed=em)
        self.bot.cogs['Wordcount'].cmdcount('stats')
Exemplo n.º 4
0
    def getlink(self, mon, author):
        title = mon['name']
        description = mon["name_jp"] + "\n" + "*" * mon["rarity"]
        url = 'http://puzzledragonx.com/en/monster.asp?n=' + str(mon['id'])
        em = dmbd.newembed(author, title, description, url)
        em.set_image(url='https://www.padherder.com' + mon['image60_href'])
        em.add_field(name='Type',
                     value=self.gettype(mon['type'], mon['type2'],
                                        mon['type3']))
        em.add_field(name='Cost', value=mon['team_cost'])
        em.add_field(name='MaxLv',
                     value="{0} ({1}xp)".format(mon['max_level'],
                                                mon['xp_curve']))
        em.add_field(name='HP',
                     value="[{0}][{1}]".format(mon['hp_min'], mon['hp_max']))
        em.add_field(name='ATK',
                     value="[{0}][{1}]".format(mon['atk_min'], mon['atk_max']))
        em.add_field(name='RCV',
                     value="[{0}][{1}]".format(mon['rcv_min'], mon['rcv_max']))
        em.add_field(name='Leader Skill', value=str(mon['leader_skill']))
        em.add_field(name='Active Skill', value=str(mon['active_skill']))
        em.add_field(name='MP Sell Price', value=mon['monster_points'])
        em.add_field(name='Awakenings',
                     value=self.getawaken(mon['awoken_skills']),
                     inline=False)

        self.bot.cogs['Wordcount'].cmdcount('pad')
        return em
Exemplo n.º 5
0
 async def roll(self, ctx):
     rolled = random.randint(1, 6)
     rolled = str(rolled)
     msg = "Vous avez lancé un Dé !" + "\n" + "Il affiche " + rolled
     author = ctx.message.author
     em = dmbd.newembed(author, msg)
     await self.bot.delete_message(ctx.message)
     await self.bot.say(embed=em)
Exemplo n.º 6
0
 async def followers(self, ctx):
     data = urllib.request.urlopen(
         "https://www.googleapis.com/youtube/v3/channels?part=statistics&id="
         + CHANNEL_ID + "&key=" + API_KEY).read()
     subs = json.loads(data)["items"][0]["statistics"]["subscriberCount"]
     description = (NAME_SOCIAL + " à " + "{:,d}".format(int(subs)) +
                    " followers!🎉")
     em = dmbd.newembed(ctx.message.author, d=description)
     await self.bot.say(embed=em)
Exemplo n.º 7
0
 async def ping(self, ctx):
     pingpong = datetime.now() - ctx.message.timestamp
     pingpong = pingpong.microseconds / 1000
     second = await self.bot.say('*headtilt*')
     heartbeat = second.timestamp - ctx.message.timestamp
     heartbeat = heartbeat.microseconds / 1000
     description = (':ping_pong: `' + str(pingpong) + ' ms`\n' +
                    ':blue_heart: `' + str(heartbeat) + ' ms`')
     em = dmbd.newembed(ctx.message.author, d=description)
     await self.bot.edit_message(second, new_content='', embed=em)
Exemplo n.º 8
0
    async def wiki(self, ctx, *, search: str):
        """ Grabs Wikipedia Article """
        searchlist = wikipedia.search(search)
        if len(searchlist) < 1:
            author = ctx.message.author
            title = "Searched for: " + search
            desc = 'No Results Found'
            em = dmbd.newembed(author, title, desc)
            await self.bot.say(embed=em)
        else:
            page = wikipedia.page(searchlist[0])

            author = ctx.message.author
            title = page.title
            desc = wikipedia.summary(searchlist[0], 3)
            url = page.url
            em = dmbd.newembed(author, title, desc, url)

            em.set_image(url=page.images[0])
            em.set_thumbnail(url="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Wikipedia-logo-v2-en.svg/250px-Wikipedia-logo-v2-en.svg.png")
            self.bot.cogs['Wordcount'].cmdcount('wiki')
            await self.bot.say(embed=em)
Exemplo n.º 9
0
 async def search(self, ctx, *, query: str):
     if query is None:
         return
     results = []
     for x in self.bot.redis_db.hkeys('tags'):
         if query in x.decode('utf-8'):
             results.append(x.decode('utf-8'))
     wew = ""
     for x, y in enumerate(results):
         wew += str(x+1) + ") " + y + "\n"
     em = dmbd.newembed(ctx.message.author)
     em.set_footer(text=wew)
     await self.bot.say(embed=em)
Exemplo n.º 10
0
    async def cyanidercg(self, ctx):
        """ Gives a randomly generated Cyanide & Happiness Comic"""

        async with self.bot.session.get('http://explosm.net/rcg') as r:
            if not r.status == 200:
                self.bot.cogs['Log'].output("Unable to get RCG for Cyanide")
                return
            soup = BeautifulSoup(await r.text(), 'html.parser')
            img = 'http:' + str(soup.find(id='rcg-comic').img['src'])
        print(img)
        em = dmbd.newembed(ctx.message.author, 'Cyanide and Happiness RCG', u=img)
        em.set_image(url=img)
        await self.bot.say(embed=em)
        self.bot.cogs['Wordcount'].cmdcount('chrng')
Exemplo n.º 11
0
    async def flip(self, ctx, coins=1):
        """ Flips a coin."""
        author = ctx.message.author
        em = dmbd.newembed(author)
        for x in range(coins):
            coin = random.randint(1, 2)
            if coin == 1:
                em.add_field(name="Coin #" + str(x + 1), value="Heads")
            elif coin == 2:
                em.add_field(name="Coin #" + str(x + 1), value="Tails")

        await self.bot.say(embed=em)

        self.bot.cogs['Wordcount'].cmdcount('flip')
Exemplo n.º 12
0
    async def xkcd(self, ctx):
        """Gives a random XKCD Comic"""
        chk = await self.refreshxkcd()
        if not chk:
            return
        maxnum = int(self.bot.redis_db.get('xkcdmax').decode('utf-8'))
        number = random.randint(1, maxnum)
        url = "http://xkcd.com/" + str(number)
        j = await self.getxkcd(number, url)

        em = dmbd.newembed(ctx.message.author, j['safe_title'], u=url)
        em.set_image(url=j['img'])
        em.add_field(name=j['alt'], value="{0}/{1}/{2}".format(j['month'], j['day'], j['year']))
        await self.bot.say(embed=em)
        self.bot.cogs['Wordcount'].cmdcount('xkcd')
Exemplo n.º 13
0
    async def ball(self, ctx):
        """ Demandez à 8Ball """
        answers = [
            'Essaye plus tard', 'Essaye encore', "Pas d'avis",
            'C\'est ton destin', 'Le sort en est jeté', 'Une chance sur deux',
            'Repose ta question', 'D\'après moi oui', 'C\'est certain',
            'Oui absolument', 'Tu peux compter dessus', 'Sans aucun doute',
            'Très probable', 'Oui', 'C\'est bien parti', ':smirk:',
            'C\'est non', 'Peu probable', 'Faut pas rêver', 'N\'y compte pas',
            'Impossible'
        ]

        author = ctx.message.author
        em = dmbd.newembed(author, random.choice(answers))
        await self.bot.say(embed=em)
Exemplo n.º 14
0
    async def profile(self, ctx, *, name: str = None):
        """ Display Profile :o """

        user = self.getuser(ctx, name)
        if not user:
            return
        author = ctx.message.author
        em = dmbd.newembed(author,
                           user.name + '#' + user.discriminator,
                           u=user.avatar_url)
        em.set_image(url=user.avatar_url)
        lvl, percent = self.getlevel(user.id)
        em.add_field(name="Lv. " + str(lvl),
                     value=str(int(percent * 100)) + "%")
        await self.bot.say(embed=em)
        self.bot.cogs['Wordcount'].cmdcount('profile')
Exemplo n.º 15
0
 async def rdrop(self, ctx):
     places = [
         "Risky Reels", "Lucky Landing", "China Motel", "New Factories",
         "Motel", "anywhere you want", "Football Ground",
         "Between Shifty and Flush", "Container", "Paradise Palms",
         "North of Wailing Woods", "Dusty Divot", "Fatal Fields",
         "Flush Factory", "Greasy Grove", "Haunted Hills", "Junk Junction",
         "Lonely Lodge", "Loot Lake", "Pleasant Park", "Retail Row",
         "Salty Springs", "Lazy Links", "Shifty Shafts", "Snobby Shores",
         "Tilted Towers", "Tomato Town", "Wailing Woods"
     ]
     msg = 'Go '
     author = ctx.message.author
     em = dmbd.newembed(author, msg + randchoice(places))
     await self.bot.delete_message(ctx.message)
     await self.bot.say(embed=em)
Exemplo n.º 16
0
    async def gfylink(self, keyword, count, author):
        link = "https://api.gfycat.com/v1test/gfycats/search?search_text=" + str(keyword) + "&count=" + str(count)

        async with self.bot.session.get(link) as r:
            if r.status != 200:
                self.bot.cogs['Log'].output('Gyfcat returned ' + r.status)
            giflist = await r.json()
            num = random.randint(0, count-1)
            gif = giflist["gfycats"][num]
            title = gif["gfyName"]
            desc = gif["title"]
            if gif["tags"] != None:
                desc += " #" + " #".join([x for x in gif["tags"]])

            url = "https://gfycat.com/" + title
            return dmbd.newembed(author, title, desc, url)
Exemplo n.º 17
0
    async def roll(self, ctx, *, dice: str = '1d6'):
        """Rolls a dice in NdN format."""
        try:
            rolls, limit = map(int, dice.split('d'))
        except ValueError:
            await self.bot.say('Format has to be in NdN!')
            return

        author = ctx.message.author
        title = 'Here are your dice results!'
        em = dmbd.newembed(author, title)
        for r in range(rolls):
            em.add_field(name="Dice #" + str(r + 1),
                         value=str(random.randint(1, limit)))
        # result = ', '.join(str(random.randint(1, limit)) for r in range(rolls))
        await self.bot.say(embed=em)
        self.bot.cogs['Wordcount'].cmdcount('roll')
Exemplo n.º 18
0
    async def woof(self, ctx):
        """When user types ~woof, return a woof link """

        async with self.bot.session.get('http://random.dog/') as r:
            if r.status != 200:
                self.bot.cogs['Log'].output("Could not get a woof")
                return
            doglink = BeautifulSoup(r.text, 'html.parser')
            rngdog = 'http://random.dog/' + doglink.img['src']
            author = ctx.message.author
            title = 'Random.Dog'
            desc = 'Here, have a dog.'
            url = rngdog
            em = dmbd.newembed(author, title, desc, url)
            em.set_image(url=rngdog)
            await self.bot.say(embed=em)
            self.bot.cogs['Wordcount'].cmdcount('woof')
Exemplo n.º 19
0
    async def meow(self, ctx):
        """ When User Types ~meow, return a cat link """

        async with self.bot.session.get('http://random.cat/meow') as r:
            if r.status != 200:
                self.bot.cogs['Log'].output("Could not get a meow")
                return
            catlink = await r.json()
            rngcat = catlink['file']
            author = ctx.message.author
            title = 'Random.Cat'
            desc = 'Here, have a cat.'
            url = rngcat
            em = dmbd.newembed(author, title, desc, url)
            em.set_image(url=rngcat)
            await self.bot.say(embed=em)
            self.bot.cogs['Wordcount'].cmdcount('meow')
Exemplo n.º 20
0
    async def displayanswer(self, author, char):
        try:
            anime = char['anime'][0]
        except IndexError:
            anime = char['anime']
        subtitle = anime['title_japanese']
        url = "https://anilist.co/anime/" + str(anime['id'])
        em = dmbd.newembed(author, 'Here\'s the answer!', subtitle, url)
        em.set_image(url=anime['image_url_lge'])
        em.add_field(name=anime['title_romaji'], value=anime['title_english'])
        em.add_field(name="Type", value=anime['type'])
        em.add_field(name='Rating', value=anime['average_score'])
        xstr = lambda s: s or ""
        em.add_field(name=char['name_japanese'],
                     value=char['name_first'] + " " + xstr(char['name_last']))

        await self.bot.say(embed=em)
Exemplo n.º 21
0
    async def cyanide(self, ctx):
        """ Gives a random Cyanide & Happiness Comic"""
        chk = await self.refreshcyanide()
        if not chk:
            return

        # whatever reason, comics 1 - 38 don't exist.
        number = random.randint(39, int(self.bot.redis_db.get('cyanidemax').decode('utf-8')))
        link = 'http://explosm.net/comics/' + str(number)

        img = await self.getcyanide(number, link)
        if img is None:
            return
        em = dmbd.newembed(ctx.message.author, 'Cyanide and Happiness', str(number), u=link)
        em.set_image(url=img)
        await self.bot.say(embed=em)
        self.bot.cogs['Wordcount'].cmdcount('ch')
Exemplo n.º 22
0
    async def avatar(self, ctx, *, name: str = None):
        """ Grabbing an avatar of a person """

        user = self.getuser(ctx, name)

        if not user:
            return
        author = ctx.message.author
        em = dmbd.newembed(author, u=user.avatar_url)
        em.set_image(url=user.avatar_url)
        em.add_field(name=user.name + '#' + user.discriminator + '\'s Avatar',
                     value="Sugoi :D")

        if author != user:
            self.addpoints(user, random.randint(1, 5))

        await self.bot.say(embed=em)
        self.bot.cogs['Wordcount'].cmdcount('avatar')