Ejemplo n.º 1
0
 async def haze(self, ctx):
     if allowed_channel(ctx):
         await ctx.trigger_typing()
         if random.randint(1, 10) == 5:
             await ctx.send("I want EVERY assignment done in:")
             await ctx.send("5")
             time.sleep(1)
             await ctx.send("4")
             time.sleep(1)
             await ctx.send("3")
             time.sleep(1)
             await ctx.send("2")
             time.sleep(1)
             await ctx.send("1")
             time.sleep(1)
             await ctx.send(
                 "Thanks for finishing those assignments! Remember: Liars get SMACK'd"
             )
         else:
             await ctx.send(
                 random.choice([
                     ("Haze, you should be doing your assignment"),
                     ("I swear on Sumako - if that assignment isn't done yet..."
                      ), ('"cranes are great" - Haze'),
                     ("I don't want to hear you complaining about your assignments... EVER"
                      )
                 ]), )
Ejemplo n.º 2
0
 async def ban(self, ctx, *, target=None):
     if allowed_channel(ctx):
         if random.randint(1, 5) == 1:
             await ctx.send("No")
         else:
             if target is None:
                 await ctx.send(
                     random.choice([
                         "I can't ban nothing", "Specifiy a person please",
                         "This command doesn't work like that"
                     ]))
             elif re.match(r"(^|\s|.)@everyone($| $| .)", target,
                           re.IGNORECASE):
                 return
             elif "ORB" in target.upper(
             ) or "<@569758271930368010>" in target or "orb" in target:
                 await ctx.send("Pls no ban am good bot")
             elif re.match(r"(^|\s|.)me($| $| .)", target, re.IGNORECASE):
                 await ctx.send("Banning you")
                 await ctx.send("...")
                 await ctx.send("Shit it didn't work")
             else:
                 await ctx.send("Banning " + target)
                 await ctx.send("...")
                 await ctx.send("Shit it didn't work")
Ejemplo n.º 3
0
async def commands(ctx, target=None):
    if allowed_channel(ctx):
        output = ""
        if target is None:
            print("Command overview requested from", ctx.author.display_name)
            output += "**Accepted commands:**\n```"
            for command in COMMAND_DATA:
                output += "orb." + command + "\n"
            output += "```\n```Call a specific command for more info, or all for a full command dump```"
        elif target.upper() == "ALL":
            print("Full commands list requested from", ctx.author.display_name)
            for command in COMMAND_DATA:
                output += "```Command: " + "orb." + command + "\n"
                output += "Function: " + COMMAND_DATA[command][0] + "\n"
                output += "Arguments: " + COMMAND_DATA[command][1] + "```"
        else:
            print("Info on " + target + " requested by " +
                  ctx.author.display_name)

            info, args = COMMAND_DATA[target]
            output += "```Command: orb." + target + "\n"
            output += "Function: " + str(info) + "\n"
            output += "Arguments: " + str(args) + "```"
            # except:
            #     print("Command not found")
            #     output = "Error: Command not found"
        await ctx.send(output)
Ejemplo n.º 4
0
 async def bde(self, ctx, *, target=None):
     if allowed_channel(ctx):
         print("BDEing " + target + " for " + ctx.author.display_name)
         with open("data/bde.csv", mode="r", newline="") as file:
             reader = csv.reader(file, delimiter=",")
             if target is None:
                 target = "the universe"
                 search_target = "the universe"
             elif re.match(r"(^|\s|.)@everyone($| $| .)", target, re.IGNORECASE):
                 return
             elif re.match(r"(^|\s|.)me($| $| .)", target, re.IGNORECASE):
                 search_target = "<@" + str(ctx.author.id) + ">"
                 target = ctx.author.display_name
             elif re.match(r"/(?=^.*" + str(ctx.author.display_name) + r".*$).*/gim", target, re.IGNORECASE) or re.match(r"(^|\s|.)" + str(ctx.author.id) + r"($| $| .)", target, re.IGNORECASE):
                 search_target = "<@" + str(ctx.author.id) + ">"
                 target = ctx.author.display_name
             elif re.match(r"(^|\s|.)orb($| $| .)", target, re.IGNORECASE) or re.match(r"(^|\s|.)<@569758271930368010>($| $| .)", target, re.IGNORECASE):
                 await ctx.send("I have 101% bde")
                 return
             else:
                 search_target = target
             for line in reader:
                 try:       
                     if re.match(r"(^|\s|.)" + str(search_target) + r"($| $| .|.)", line[0], re.IGNORECASE):
                         await ctx.send(str(target) + " has " + str(line[1]) + "% big dick energy")
                         return
                 except:
                     pass
         with open("data/bde.csv", mode="a", newline="") as file:
             writer = csv.writer(file, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL)    
             random_value = str(random.randint(0,100))
             writer.writerow([str(search_target), random_value])
             await ctx.send(str(target) + " has " + str(random_value) + "% big dick energy")
Ejemplo n.º 5
0
async def help(ctx):
    if allowed_channel(ctx):
        logger.log("core",
                   f"Help request received from {ctx.author.display_name}")
        await ctx.send(
            u"Orb bot is a bot that does things. Features include:\n   - Reactions\n   - Posting Illya\n   - Ranking\nFor a list of commands see orb.commands, or check them out online at https://aribowe.github.io/orb/commands. To check the bot status, see orb.status.\nDeveloped by xiii™#0013 and 🌸Julianne🌸#6939."
        )
Ejemplo n.º 6
0
 async def rank(self, ctx, *, target=None):
     if allowed_channel(ctx):
         print("Ranking", target, "for user", ctx.author.display_name, "id", ctx.author.id)
         with open("data/rank.csv", mode="r", newline="") as file:
             reader = csv.reader(file, delimiter=",")
             if target is None:
                 await ctx.send("I can't rank nothing")
                 return    
             elif re.match(r"(^|\s|.)@everyone($| $| .)", target, re.IGNORECASE):
                 return
             elif re.match(r"(^|\s|.)me($| $| .)", target, re.IGNORECASE):
                 search_target = "<@" + str(ctx.author.id) + ">"
                 target = "you"
             elif re.match(r"/(?=^.*" + str(ctx.author.display_name) + r".*$).*/gim", target, re.IGNORECASE) or re.match(r"(^|\s|.)" + str(ctx.author.id) + r"($| $| .)", target, re.IGNORECASE):
                 search_target = "<@" + str(ctx.author.id) + ">"
                 target = "you"
             elif target.isnumeric():
                 await ctx.send("I'd give " + target + " a " + target + " out of " + target)
             elif re.match(r"(^|\s|.)orb($| $| .)", target, re.IGNORECASE) or re.match(r"(^|\s|.)<@569758271930368010>($| $| .)", target, re.IGNORECASE):
                 await ctx.send("I'd give me a 10 out of 10")
                 return
             else:
                 search_target = target
             for line in reader:
                 try:       
                     if re.match(r"(^|\s|.)" + str(search_target) + r"($)", line[0], re.IGNORECASE):
                         await ctx.send("I'd give " + str(target) + " a " + str(line[1]) + " out of 10")
                         return
                 except:
                     pass
         with open("data/rank.csv", mode="a", newline="") as file:
             writer = csv.writer(file, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL)    
             random_value = str(random.randint(1,10))
             writer.writerow([str(search_target), random_value])
             await ctx.send("I'd give " + str(target) + " a " + str(random_value) + " out of 10")
Ejemplo n.º 7
0
    async def smackcraft(self, ctx):
        if allowed_channel(ctx):
            smckcrft = JavaServer.lookup(
                SMACKCRAFT)  # move this to config later

            try:
                status = smckcrft.status()
                query = smckcrft.query()
                embed = discord.Embed(title="SMACKcraft",
                                      description=status.description,
                                      color=0x287233)
                #embed.add_field(name="Active Players:", value=str(status.players.sample))
                if status.players.online > 0:
                    embed.add_field(
                        name=f"Active Players: ({status.players.online})",
                        value=reduce(comma,
                                     query.players.names))  #reduce with ,???
                else:
                    embed.add_field(name="Active Players:", value="0")
                embed.add_field(name="Version:",
                                value=str(status.version.name))
                embed.add_field(name="Latency:",
                                value=round(status.latency, 2))

                await ctx.send(embed=embed)

            except Exception as e:
                await ctx.send(
                    "An error was encountered when trying to query the server. Is it offline?"
                )
Ejemplo n.º 8
0
    async def play_(self, ctx, *, search: str):
        """Request a song and add it to the queue.
        This command attempts to join a valid voice channel if the bot is not already in one.
        Uses YTDL to automatically search and retrieve a song.
        Parameters
        ------------
        search: str [Required]
            The song to search and retrieve using YTDL. This could be a simple search, an ID or URL.
        """

        if not allowed_channel(ctx):
            return

        await ctx.trigger_typing()

        vc = ctx.voice_client

        if not vc:
            await ctx.invoke(self.connect_)
            await ctx.trigger_typing()

        player = self.get_player(ctx)

        # If download is False, source will be a dict which will be used later to regather the stream.
        # If download is True, source will be a discord.FFmpegPCMAudio with a VolumeTransformer.
        source = await YTDLSource.create_source(ctx, search, loop=self.bot.loop, download=False)

        await player.queue.put(source)
Ejemplo n.º 9
0
    async def change_volume(self, ctx, *, vol = "display"):
        """Change the player volume.
        Parameters
        ------------
        volume: float or int [Required]
            The volume to set the player to in percentage. This must be between 1 and 100.
        """

        if not allowed_channel(ctx):
            return

        vc = ctx.voice_client

        if vol == "display":
            await ctx.send(f'**`{ctx.author}`**: Volume is currently **{vc.source.volume * 100}%**')
            return
        elif vol.isnumeric():
            vol = float(vol)
        else:
            return

        if not vc or not vc.is_connected():
            return await ctx.send('I am not currently connected to voice!')

        if not 0 < vol < 101:
            return await ctx.send('Please enter a value between 1 and 100.')

        player = self.get_player(ctx)

        if vc.source:
            vc.source.volume = vol / 100

        player.volume = vol / 100
        await ctx.send(f'**`{ctx.author}`**: Set the volume to **{vol}%**')
Ejemplo n.º 10
0
    async def connect_(self, ctx, *, channel: discord.VoiceChannel=None):
        """Connect to voice.
        Parameters
        ------------
        channel: discord.VoiceChannel [Optional]
            The channel to connect to. If a channel is not specified, an attempt to join the voice channel you are in
            will be made.
        This command also handles moving the bot to different channels.
        """
        if not allowed_channel(ctx):
            return

        if not channel:
            try:
                channel = ctx.author.voice.channel
            except AttributeError:
                raise InvalidVoiceChannel('No channel to join. Please either specify a valid channel or join one.')

        vc = ctx.voice_client

        if vc:
            if vc.channel.id == channel.id:
                return
            try:
                await vc.move_to(channel)
            except asyncio.TimeoutError:
                raise VoiceConnectionError(f'Moving to channel: <{channel}> timed out.')
        else:
            try:
                await channel.connect()
            except asyncio.TimeoutError:
                raise VoiceConnectionError(f'Connecting to channel: <{channel}> timed out.')

        await ctx.send(f'Connected to: **{channel}**')
Ejemplo n.º 11
0
    async def slots(self, ctx, *, target=None):
        if allowed_channel(ctx):
            if target is not None and target.isnumeric():
                await ctx.send("""[  :slot_machine: l SLOTS ]
        ------------------
        :banana: : :banana: : :banana:

        :regional_indicator_g: :regional_indicator_a: :regional_indicator_y:  <

        :flag_lv: : :tangerine: : :watermelon:
        ------------------
        | : : :  LOST  : : : |

        **""" + ctx.author.display_name + "** used **" + target +
                               "** credit(s) and got the big gay")
            else:
                await ctx.send("""[  :slot_machine: l SLOTS ]
        ------------------
        :banana: : :banana: : :banana:

        :regional_indicator_g: : :regional_indicator_a: : :regional_indicator_y:  <

        :flag_lv: : :tangerine: : :watermelon:
        ------------------
        | : : :  LOST  : : : |

        **""" + ctx.author.display_name +
                               "** used **1** credit(s) and got the big gay")
Ejemplo n.º 12
0
    async def queue_info(self, ctx):
        """Retrieve a basic queue of upcoming songs."""

        if not allowed_channel(ctx):
            return

        vc = ctx.voice_client

        if not vc or not vc.is_connected():
            return await ctx.send('I am not currently connected to voice!')

        player = self.get_player(ctx)
        if player.queue.empty():
            return await ctx.send('There are currently no more queued songs.')

        current = f"{vc.source.title}"
        upcoming = list(itertools.islice(player.queue._queue, 0, 5))

        embed=discord.Embed(title="SONG QUEUE", color=0xcb410b)
        embed.add_field(name="**Currently playing:** `" + current + "`", value="\u200b")
        i = 1
        for item in upcoming:
            embed.add_field(name="**" + str(i) + ".** `" + str(item["title"]) + "`", value="\u200b", inline=False)
            i += 1

        await ctx.send(embed=embed)
Ejemplo n.º 13
0
 async def touhou(self, ctx):
     if allowed_channel(ctx):
         print("Touhou called by", ctx.author.display_name)
         await ctx.trigger_typing()
         await ctx.send(file=discord.File(fp="images/touhou/touhou (" +
                                          str(random.randint(1, 83)) +
                                          ").jpg"))
Ejemplo n.º 14
0
 async def rinpost(self, ctx):
     if allowed_channel(ctx):
         print("Rinpost called by", ctx.author.display_name)
         await ctx.trigger_typing()
         await ctx.send(file=discord.File(fp="images/rinpost/rin (" +
                                          str(random.randint(1, 46)) +
                                          ").jpg"))
Ejemplo n.º 15
0
 async def yorimoi(self, ctx):
     if allowed_channel(ctx):
         print("Yorimoi called by", ctx.author.display_name)
         await ctx.trigger_typing()
         await ctx.send(file=discord.File(fp="images/yorimoi/yorimoi (" +
                                          str(random.randint(1, 48)) +
                                          ").jpg"))
Ejemplo n.º 16
0
 async def illya(self, ctx):
     if allowed_channel(ctx):
         print("Illya called by", ctx.author.display_name)
         if random.randint(1, 50) == 2:
             await ctx.trigger_typing()
             await ctx.send(file=discord.File(fp="images/lolice.gif"))
         else:
             await ctx.trigger_typing()
             await ctx.send(file=discord.File(fp="images/illya/illya (" + str(random.randint(1, 47)) + ").jpg"))
Ejemplo n.º 17
0
 async def dad(self, ctx, *args):
     if allowed_channel(ctx):
         if len(args) > 0:
             await ctx.trigger_typing()
             await ctx.send("Hi, {}, I'm orb!".format(' '.join(args)))
         else:
             await ctx.trigger_typing()
             await ctx.send(
                 "Hi, *\"Person who doesn't know how to use this command\"*, I'm orb. Please enter at least one phrase to mock!"
             )
Ejemplo n.º 18
0
 async def pablo(self, ctx):
     if allowed_channel(ctx):
         await ctx.trigger_typing()
         if (random.randint(1, 10) <= 5):
             await ctx.send(file=discord.File(fp="images/pablo/pablo1.jpg"))
             await ctx.send(
                 "> 3 OUT OF 5 OF THE INFINITY FLAMINGO GAUNTLET COSMETIC KIT HAS BEEN GATHERED"
             )
         else:
             await ctx.send(file=discord.File(fp="images/pablo/pablo2.jpg"))
Ejemplo n.º 19
0
 async def vore(self, ctx, *, target=None):
     if allowed_channel(ctx):
         print("Voring", target, "for user", ctx.author.display_name, "id",
               ctx.author.id)
         with open("data/vore.csv", mode="r", newline="") as file:
             reader = csv.reader(file, delimiter=",")
             if target is None:
                 await ctx.send("I can't vore nothing")
                 return
             elif re.match(r"(@everyone)", target, re.IGNORECASE):
                 return
             elif re.match(r"(me)", target, re.IGNORECASE):
                 search_target = "<@" + str(ctx.author.id) + ">"
                 target = ctx.author.display_name
             elif re.match(r"(^|\s|.)orb($| $| .)", target,
                           re.IGNORECASE) or re.match(
                               r"(^|\s|.)<@569758271930368010>($| $| .)",
                               target, re.IGNORECASE):
                 search_target = "orb"
                 target = "orb"
             elif re.match(
                     r"/(?=^.*" + str(ctx.author.display_name) +
                     r".*$).*/gim", target, re.IGNORECASE) or re.match(
                         r"(^|\s|.)" + str(ctx.author.id) + r"($| $| .)",
                         target, re.IGNORECASE):
                 search_target = "<@" + str(ctx.author.id) + ">"
                 target = ctx.author.display_name
             else:
                 search_target = target
             for line in reader:
                 try:
                     if re.match(r"(^|\s|.)" + str(search_target) + r"($)",
                                 line[0], re.IGNORECASE):
                         if line[1] == "0":
                             await ctx.send(target + " vores")
                             return
                         else:
                             await ctx.send(target + " gets vored")
                             return
                 except:
                     pass
         with open("data/vore.csv", mode="a", newline="") as file:
             writer = csv.writer(file,
                                 delimiter=",",
                                 quotechar='"',
                                 quoting=csv.QUOTE_MINIMAL)
             random_value = str(random.randint(0, 1))
             writer.writerow([str(search_target), random_value])
             if random_value == "0":
                 await ctx.send(target + " vores")
             else:
                 await ctx.send(target + " gets vored")
Ejemplo n.º 20
0
 async def bully(self, ctx, *, target=None):
     if allowed_channel(ctx):
         print("Bullying", target, "for", ctx.author.display_name)
         if target is None:
             await ctx.send("I can't bully nothing")
         elif re.match(r"(^|\s|.)nothing($| $| .)", target, re.IGNORECASE):
             await ctx.send("I can't bully nothing")
         elif re.match(r"(^|\s|.)orb($| $| .)", target, re.IGNORECASE) or re.match(r"(^|\s|.)<@569758271930368010>($| $| .)", target, re.IGNORECASE):
             await ctx.send("No bulli :sadkot:")
         elif re.match(r"(^|\s|.)me($| $| .)", target, re.IGNORECASE):
             await ctx.send(random.choice([("You're asking to be bullied? Isn't that kind of pathetic?"), ("You're a meanie!"), ("You're a dumb dumb")]), )
         else:
             await ctx.send(random.choice([("Bullying " + target), (target + " is a meanie!"), (target + " please stop speaking")]), )
Ejemplo n.º 21
0
    async def loop_(self, ctx):
        """Toggle song looping."""

        if not allowed_channel(ctx):
            return

        player = self.get_player(ctx)
    
        if player.loop_song:
            player.loop_song = False
            await ctx.send("Song looping is now disabled")
        else:
            player.loop_song = True
            await ctx.send("Song looping is now enabled")
Ejemplo n.º 22
0
    async def covid(self, ctx):
        if not allowed_channel(ctx):
            return

        req = requests.get(
            "https://www.health.gov.au/news/health-alerts/novel-coronavirus-2019-ncov-health-alert"
        )

        soup = BeautifulSoup(req.text, features="html.parser")
        alert_data = soup.find_all("ul", "field-health-alert-metadata__list")
        regex_results = re.findall("<\/small>(.*)?<\/li>", str(alert_data[0]))

        covid_alert_txt, last_update = regex_results
        covid_alert = regex_results[0] == "Active"

        req = requests.get(
            "https://www.qld.gov.au/health/conditions/health-alerts/coronavirus-covid-19/current-status/urgent-covid-19-update"
        )
        soup = BeautifulSoup(req.text, features="html.parser")

        daily_cases = soup.select(".new > span")[0].decode_contents()
        total_cases = soup.select(".cases > span")[0].decode_contents()
        tests_conducted = soup.select(".tested > span")[0].decode_contents()
        total_vaccines = soup.select(".vaccine > span")[0].decode_contents()

        if len(soup.select(".alert-warning")) != 0:
            active_alerts = "\n\n----------------------\n\n"

        for x in soup.select(".alert-warning"):
            temp_soup = BeautifulSoup(str(x), features="html.parser")
            active_alerts += temp_soup.get_text().strip() + "\n\n"

        active_alerts += "----------------------\n\n"

        embed_data = {
            "title": f"COVID-19 information for {date.today()}",
            "type": "rich",
            "description":
            f"Alert: {covid_alert_txt} (Last updated {last_update}){active_alerts}Cases (last 24h): {daily_cases}\nTotal cases: {total_cases}\nTests conducted: {tests_conducted}\n Total vaccine doses: {total_vaccines}",
            "url": "https://www.covid19.qld.gov.au/",
            "color": 0xf55d42 if covid_alert else 0x11c255,
        }
        embed_obj = discord.Embed.from_dict(embed_data)
        embed_obj.set_image(
            url=
            "https://www.qld.gov.au/__data/assets/image/0012/110460/Opengraph-default-thumbnail.png"
        )

        await ctx.send(embed=embed_obj)
Ejemplo n.º 23
0
 async def pablo(self, ctx, gauntlet=None):
     if allowed_channel(ctx):
         await ctx.trigger_typing()
         if (gauntlet == "gauntlet"):
             await ctx.send(file=discord.File(
                 fp="images/pablo/infinity_final.png"))
             await ctx.send(
                 "> 5 OUT OF 5 OF THE INFINITY FLAMINGO GAUNTLET COSMETIC KIT HAS BEEN GATHERED"
             )
         elif (gauntlet == "flamingo"):
             await ctx.send(file=discord.File(fp="images/pablo/pablo2.jpg"))
         else:
             if (random.randint(1, 10) >= 5):
                 await ctx.send(file=discord.File(
                     fp="images/pablo/pablo2.jpg"))
Ejemplo n.º 24
0
    async def pause_(self, ctx):
        """Pause the currently playing song."""

        if not allowed_channel(ctx):
            return

        vc = ctx.voice_client

        if not vc or not vc.is_playing():
            return await ctx.send('I am not currently playing anything!')
        elif vc.is_paused():
            return

        vc.pause()
        await ctx.send(f'**`{ctx.author}`**: Paused the song!')
Ejemplo n.º 25
0
    async def stop_(self, ctx):
        """Stop the currently playing song and destroy the player.
        !Warning!
            This will destroy the player assigned to your guild, also deleting any queued songs and settings.
        """

        if not allowed_channel(ctx):
            return

        vc = ctx.voice_client

        if not vc or not vc.is_connected():
            return await ctx.send('I am not currently playing anything!')

        await self.cleanup(ctx.guild)
Ejemplo n.º 26
0
    async def commands(self, ctx):
        if allowed_channel(ctx):
            await ctx.trigger_typing()

            command_list = ""
            for key in COMMAND_DATA.keys():
                explanation, inputReq = COMMAND_DATA[key]

                output = "**{}** | {}".format(key, explanation)
                if (inputReq != "None"):
                    output += " << *{}*".format(inputReq)

                command_list += output + "\n"

            await ctx.send(command_list)
Ejemplo n.º 27
0
    async def resume_(self, ctx):
        """Resume the currently paused song."""

        if not allowed_channel(ctx):
            return

        vc = ctx.voice_client

        if not vc or not vc.is_connected():
            return await ctx.send('I am not currently playing anything!')
        elif not vc.is_paused():
            return

        vc.resume()
        await ctx.send(f'**`{ctx.author}`**: Resumed the song!')
Ejemplo n.º 28
0
    async def translate(self, ctx, *, target=None):
        TRANSLATE_DICT = {
            "a": "ka",
            "b": "tu",
            "c": "mi",
            "d": "te",
            "e": "ku",
            "f": "ru",
            "g": "ji",
            "h": "ri",
            "i": "ki",
            "j": "zu",
            "k": "me",
            "l": "ta",
            "m": "rin",
            "n": "to",
            "o": "mo",
            "p": "no",
            "q": "ke",
            "r": "shi",
            "s": "ari",
            "t": "chi",
            "u": "do",
            "v": "ru",
            "w": "mei",
            "x": "na",
            "y": "fu",
            "z": "zi"
        }

        if allowed_channel(ctx):
            output = ""
            print("Translating", target, "for", ctx.author.display_name)
            if target is None:
                await ctx.send(":thinking:")
            else:
                for char in target.lower():
                    try:
                        output += TRANSLATE_DICT[char]
                    except:
                        output += char

                translation = discord.Embed(description=str(output),
                                            colour=0xcb410b)
                translation.set_author(name=ctx.author.display_name,
                                       icon_url=ctx.author.avatar_url)

                await ctx.send(embed=translation)
Ejemplo n.º 29
0
 async def fishy(self, ctx):
     if allowed_channel(ctx):
         rand = random.randint(1, 15)
         if rand <= 8:
             pass
         elif rand < 14:
             await ctx.send(
                 random.choice(["Not my job", "Wrong bot", ":thinking:"]))
         elif rand == 14:
             await ctx.send(
                 ":fishing_pole_and_fish:  |  " + ctx.author.display_name +
                 ", you caught: :wrench:! You paid :yen: 10 for casting.")
         else:
             await ctx.send(
                 ":fishing_pole_and_fish:  |  " + ctx.author.display_name +
                 ", you caught: AIDS! You paid :yen: 10 for casting.")
Ejemplo n.º 30
0
    async def azsry(self, ctx):
        if not allowed_channel(ctx):
            return

        msgs = [
            """In C++ we don't say "Missing asterisk" we say ```error C2664: 'void std::vector<block,std::alocator<_Ty> >::push_back(const block &)': cannot convert argument 1 from 'std::_Vector_iterator<std::_Vector_val<std::_Simple_types<block> > >' to 'block &&'``` and i think that's beautiful""",
            "If A has friends then they can play with A's privates as well.",
            """```cpp
C++; // makes C bigger, returns old value```
            """, """"Knock Knock"
"Who's there?"
*very long pause*
"Java\""""
        ]

        await ctx.send(random.choice(msgs))