|
@@ -3,7 +3,7 @@ import discord
|
|
|
import random
|
|
import random
|
|
|
from typing import Optional
|
|
from typing import Optional
|
|
|
from query.user import is_ignored, get_level, get_xp, level_up, get_ability_points_spent, increment_all_coin, get_coin, get_karma, get_theft_skill, get_random_player
|
|
from query.user import is_ignored, get_level, get_xp, level_up, get_ability_points_spent, increment_all_coin, get_coin, get_karma, get_theft_skill, get_random_player
|
|
|
-from local_settings import COMMAND_PREFIX
|
|
|
|
|
|
|
+#from local_settings import COMMAND_PREFIX
|
|
|
from common.settings import check_ignore
|
|
from common.settings import check_ignore
|
|
|
|
|
|
|
|
|
|
|
|
@@ -17,190 +17,190 @@ class Games(commands.Cog):
|
|
|
def __init__(self, bot: commands.Bot):
|
|
def __init__(self, bot: commands.Bot):
|
|
|
self.bot = bot
|
|
self.bot = bot
|
|
|
|
|
|
|
|
- @commands.command(
|
|
|
|
|
- description="Check the level for a player.",
|
|
|
|
|
- brief="Get player level",
|
|
|
|
|
- help="View game level of player."
|
|
|
|
|
- )
|
|
|
|
|
- async def level(self, ctx: commands.Context, user: Optional[discord.User]):
|
|
|
|
|
- # Halt on ignore list or games channel settings.
|
|
|
|
|
- if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
- return
|
|
|
|
|
-
|
|
|
|
|
- if not user:
|
|
|
|
|
- user = ctx.author
|
|
|
|
|
- level = await get_level(self.bot.pg, user.id)
|
|
|
|
|
-
|
|
|
|
|
- if level == 0:
|
|
|
|
|
- if ctx.author == user:
|
|
|
|
|
- await ctx.send(f"You are not playing, join the game with `{COMMAND_PREFIX}levelup`")
|
|
|
|
|
- else:
|
|
|
|
|
- await ctx.send(f"`{user}` is not playing.")
|
|
|
|
|
- else:
|
|
|
|
|
- xp_spent, total_xp = await get_xp(self.bot.pg, user.id)
|
|
|
|
|
- ability_points_spent = await get_ability_points_spent(self.bot.pg, user.id)
|
|
|
|
|
- coin = await get_coin(self.bot.pg, user.id)
|
|
|
|
|
- karma = await get_karma(self.bot.pg, user.id)
|
|
|
|
|
- if ctx.author == user:
|
|
|
|
|
- await ctx.send(f"You rank at level **{level}**. (exp **{xp_spent}**/{total_xp} | abp **{ability_points_spent}**/{level * 3} | coin **{coin}** | karma **{karma}**)")
|
|
|
|
|
- else:
|
|
|
|
|
- await ctx.send(f"`{user}` ranks at level **{level}**. (**{xp_spent}**/{total_xp} | abp **{ability_points_spent}**/{level * 3}) | coin **{coin}** | karma **{karma}**")
|
|
|
|
|
-
|
|
|
|
|
- @commands.command(
|
|
|
|
|
- description="Check the experience points for a player.",
|
|
|
|
|
- brief="Get player xp",
|
|
|
|
|
- help="View amount of XP a game player has."
|
|
|
|
|
- )
|
|
|
|
|
- async def xp(self, ctx: commands.Context, user: Optional[discord.User]):
|
|
|
|
|
- # Halt on ignore list or games channel settings.
|
|
|
|
|
- if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
- return
|
|
|
|
|
-
|
|
|
|
|
- if not user:
|
|
|
|
|
- xp_spent, total_xp = await get_xp(self.bot.pg, ctx.author.id)
|
|
|
|
|
- level = await get_level(self.bot.pg, ctx.author.id)
|
|
|
|
|
- threshold = (level + 1) * 50 + xp_spent
|
|
|
|
|
- if threshold < total_xp - xp_spent:
|
|
|
|
|
- await ctx.send(f"You have spent {xp_spent} experience points of your {total_xp} total and can gain 3 ability points for {threshold} xp.")
|
|
|
|
|
- else:
|
|
|
|
|
- await ctx.send(f"You have spent {xp_spent} experience points of your {total_xp} total and require {threshold - (total_xp - xp_spent)} xp to `{COMMAND_PREFIX}levelup`.")
|
|
|
|
|
- else:
|
|
|
|
|
- xp_spent, total_xp = await get_xp(self.bot.pg, user.id)
|
|
|
|
|
- level = await get_level(self.bot.pg, user.id)
|
|
|
|
|
- threshold = (level + 1) * 50 + xp_spent
|
|
|
|
|
- if threshold < total_xp - xp_spent:
|
|
|
|
|
- await ctx.send(f"`{user}` has spent {xp_spent} of {total_xp} experience points and can level up for {threshold} xp.")
|
|
|
|
|
- else:
|
|
|
|
|
- await ctx.send(f"`{user}` has spent {xp_spent} of {total_xp} experience points and requires {threshold - (total_xp - xp_spent)} xp to level up.")
|
|
|
|
|
-
|
|
|
|
|
- @commands.command(
|
|
|
|
|
- description="Attempt to gain a level.",
|
|
|
|
|
- brief="Level up",
|
|
|
|
|
- help="Try to rank up a level in the game by spending XP."
|
|
|
|
|
- )
|
|
|
|
|
- async def levelup(self, ctx: commands.Context):
|
|
|
|
|
- # Halt on ignore list or games channel settings.
|
|
|
|
|
- if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
- return
|
|
|
|
|
-
|
|
|
|
|
- xp_spent, total_xp = await get_xp(self.bot.pg, ctx.author.id)
|
|
|
|
|
- xp_available = total_xp - xp_spent
|
|
|
|
|
- level = await get_level(self.bot.pg, ctx.author.id)
|
|
|
|
|
- threshold = (level + 1) * 50 + xp_spent
|
|
|
|
|
- if xp_available < threshold:
|
|
|
|
|
- await ctx.send(f"Not yet, you require {threshold - xp_available} more XP to level up.")
|
|
|
|
|
- else:
|
|
|
|
|
- await level_up(self.bot.pg, ctx.author.id, threshold)
|
|
|
|
|
- await ctx.send(f"You have gained three ability points climbed the ranks for {threshold} XP, leaving you {xp_available - threshold} remaining.")
|
|
|
|
|
- await increment_all_coin(self.bot.pg)
|
|
|
|
|
-
|
|
|
|
|
- @commands.command(
|
|
|
|
|
- description="Rob another player",
|
|
|
|
|
- brief="Rob a player",
|
|
|
|
|
- help="Pursuit a robbery."
|
|
|
|
|
- )
|
|
|
|
|
- async def rob(self, ctx: commands.Context):
|
|
|
|
|
- # Halt on ignore list or games channel settings.
|
|
|
|
|
- if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
- return
|
|
|
|
|
-
|
|
|
|
|
- if get_theft_skill(self.bot.pg, ctx.author.id < 1):
|
|
|
|
|
- await ctx.send("You do not have the `Theft` skill.")
|
|
|
|
|
- return
|
|
|
|
|
-
|
|
|
|
|
- victim_id = get_random_player(self.bot.pg)
|
|
|
|
|
- await ctx.send(f"You have decided to rob{self.bot.get_user(victim_id)}, unfortunately crime has not been invited yet.")
|
|
|
|
|
-
|
|
|
|
|
- @commands.command(
|
|
|
|
|
- description="Simulate dice rolls.",
|
|
|
|
|
- brief="Roll dice",
|
|
|
|
|
- help="Roll two dice."
|
|
|
|
|
- )
|
|
|
|
|
- async def dice(self, ctx: commands.Context, amount: Optional[int], sides: Optional[int]):
|
|
|
|
|
- # Halt on ignore list or games channel settings.
|
|
|
|
|
- if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
- return
|
|
|
|
|
-
|
|
|
|
|
- if not amount:
|
|
|
|
|
- amount = 2
|
|
|
|
|
- if not sides:
|
|
|
|
|
- sides = 6
|
|
|
|
|
-
|
|
|
|
|
- if amount < 1:
|
|
|
|
|
- await ctx.send("You want me to roll less than one die? How!?")
|
|
|
|
|
- elif amount > 25:
|
|
|
|
|
- await ctx.send("I can not hold so many dice at one time.")
|
|
|
|
|
- elif sides < 2:
|
|
|
|
|
- await ctx.send("A die has physical minimum of 2 sides. Don't ask for impossible objects.")
|
|
|
|
|
- elif sides > 256:
|
|
|
|
|
- await ctx.send("My tiny hands can not handle such large dice. Even if both are virtual.")
|
|
|
|
|
- else:
|
|
|
|
|
- embed = discord.Embed(title = "Dice roll", description=f"Rolling {amount} dice, with {sides} sides.")
|
|
|
|
|
- while amount > 0:
|
|
|
|
|
- embed.insert_field_at(0, name=f"Die {amount}", value=random.randint(1, sides), inline=True)
|
|
|
|
|
- amount -= 1
|
|
|
|
|
- await ctx.send(embed=embed)
|
|
|
|
|
-
|
|
|
|
|
- @commands.command(
|
|
|
|
|
- description="Ask the magic 8-ball.",
|
|
|
|
|
- brief="Pose question",
|
|
|
|
|
- help="Simulate the iconic 8-ball gimmic.",
|
|
|
|
|
- name="8ball"
|
|
|
|
|
- )
|
|
|
|
|
- async def eightball(self, ctx: commands.Context, *, question: str = None):
|
|
|
|
|
- # Halt on ignore list or games channel settings.
|
|
|
|
|
- if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
- return
|
|
|
|
|
-
|
|
|
|
|
- if not question:
|
|
|
|
|
- messages = [
|
|
|
|
|
- "Don't forget to ask a question...",
|
|
|
|
|
- "Hey, that's not a question!",
|
|
|
|
|
- "What would you like to know?",
|
|
|
|
|
- "You want me to predict nothing?",
|
|
|
|
|
- "Are you intentionally not asking a question?",
|
|
|
|
|
- "Ask a question you tease!",
|
|
|
|
|
- "You will die alone.",
|
|
|
|
|
- ]
|
|
|
|
|
- elif question.strip().count(" ") == 0:
|
|
|
|
|
- messages = [
|
|
|
|
|
- "What?",
|
|
|
|
|
- "That is not a question",
|
|
|
|
|
- "Can you use more than one word?",
|
|
|
|
|
- "What is the question?",
|
|
|
|
|
- "Sorry?"
|
|
|
|
|
- ]
|
|
|
|
|
- elif question.strip()[-1] != "?":
|
|
|
|
|
- messages = [
|
|
|
|
|
- "Did you forget to end with a question mark?",
|
|
|
|
|
- "Is that a statement or question?",
|
|
|
|
|
- "Don't questions usually end with a question mark?",
|
|
|
|
|
- "Don't forget to use punctuation."
|
|
|
|
|
- ]
|
|
|
|
|
- else:
|
|
|
|
|
- messages = [
|
|
|
|
|
- "Yes.",
|
|
|
|
|
- "No.",
|
|
|
|
|
- "Affirmative.",
|
|
|
|
|
- "No way!",
|
|
|
|
|
- "Negative.",
|
|
|
|
|
- "Positive.",
|
|
|
|
|
- "Correct.",
|
|
|
|
|
- "Incorrect.",
|
|
|
|
|
- "Likely",
|
|
|
|
|
- "Unlikely",
|
|
|
|
|
- "Maybe.",
|
|
|
|
|
- "Definately!",
|
|
|
|
|
- "Perhaps?",
|
|
|
|
|
- "Most indubitably.",
|
|
|
|
|
- "Does the pope shit in the woods?",
|
|
|
|
|
- "When hell freezes over.",
|
|
|
|
|
- "Only between 9 and 5.",
|
|
|
|
|
- "Only just before you die.",
|
|
|
|
|
- "ERROR: Probability failure.",
|
|
|
|
|
- "Ask again later.",
|
|
|
|
|
- "I don't know.",
|
|
|
|
|
- "Unpredictable.",
|
|
|
|
|
- "Unknown",
|
|
|
|
|
- ]
|
|
|
|
|
- await ctx.send(random.choice(messages))
|
|
|
|
|
|
|
+ # @commands.command(
|
|
|
|
|
+ # description="Check the level for a player.",
|
|
|
|
|
+ # brief="Get player level",
|
|
|
|
|
+ # help="View game level of player."
|
|
|
|
|
+ # )
|
|
|
|
|
+ # async def level(self, ctx: commands.Context, user: Optional[discord.User]):
|
|
|
|
|
+ # # Halt on ignore list or games channel settings.
|
|
|
|
|
+ # if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
+ # return
|
|
|
|
|
+ #
|
|
|
|
|
+ # if not user:
|
|
|
|
|
+ # user = ctx.author
|
|
|
|
|
+ # level = await get_level(self.bot.pg, user.id)
|
|
|
|
|
+ #
|
|
|
|
|
+ # if level == 0:
|
|
|
|
|
+ # if ctx.author == user:
|
|
|
|
|
+ # await ctx.send(f"You are not playing, join the game with `/levelup`")
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # await ctx.send(f"`{user}` is not playing.")
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # xp_spent, total_xp = await get_xp(self.bot.pg, user.id)
|
|
|
|
|
+ # ability_points_spent = await get_ability_points_spent(self.bot.pg, user.id)
|
|
|
|
|
+ # coin = await get_coin(self.bot.pg, user.id)
|
|
|
|
|
+ # karma = await get_karma(self.bot.pg, user.id)
|
|
|
|
|
+ # if ctx.author == user:
|
|
|
|
|
+ # await ctx.send(f"You rank at level **{level}**. (exp **{xp_spent}**/{total_xp} | abp **{ability_points_spent}**/{level * 3} | coin **{coin}** | karma **{karma}**)")
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # await ctx.send(f"`{user}` ranks at level **{level}**. (**{xp_spent}**/{total_xp} | abp **{ability_points_spent}**/{level * 3}) | coin **{coin}** | karma **{karma}**")
|
|
|
|
|
+ #
|
|
|
|
|
+ # @commands.command(
|
|
|
|
|
+ # description="Check the experience points for a player.",
|
|
|
|
|
+ # brief="Get player xp",
|
|
|
|
|
+ # help="View amount of XP a game player has."
|
|
|
|
|
+ # )
|
|
|
|
|
+ # async def xp(self, ctx: commands.Context, user: Optional[discord.User]):
|
|
|
|
|
+ # # Halt on ignore list or games channel settings.
|
|
|
|
|
+ # if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
+ # return
|
|
|
|
|
+ #
|
|
|
|
|
+ # if not user:
|
|
|
|
|
+ # xp_spent, total_xp = await get_xp(self.bot.pg, ctx.author.id)
|
|
|
|
|
+ # level = await get_level(self.bot.pg, ctx.author.id)
|
|
|
|
|
+ # threshold = (level + 1) * 50 + xp_spent
|
|
|
|
|
+ # if threshold < total_xp - xp_spent:
|
|
|
|
|
+ # await ctx.send(f"You have spent {xp_spent} experience points of your {total_xp} total and can gain 3 ability points for {threshold} xp.")
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # await ctx.send(f"You have spent {xp_spent} experience points of your {total_xp} total and require {threshold - (total_xp - xp_spent)} xp to `/levelup`.")
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # xp_spent, total_xp = await get_xp(self.bot.pg, user.id)
|
|
|
|
|
+ # level = await get_level(self.bot.pg, user.id)
|
|
|
|
|
+ # threshold = (level + 1) * 50 + xp_spent
|
|
|
|
|
+ # if threshold < total_xp - xp_spent:
|
|
|
|
|
+ # await ctx.send(f"`{user}` has spent {xp_spent} of {total_xp} experience points and can level up for {threshold} xp.")
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # await ctx.send(f"`{user}` has spent {xp_spent} of {total_xp} experience points and requires {threshold - (total_xp - xp_spent)} xp to level up.")
|
|
|
|
|
+ #
|
|
|
|
|
+ # @commands.command(
|
|
|
|
|
+ # description="Attempt to gain a level.",
|
|
|
|
|
+ # brief="Level up",
|
|
|
|
|
+ # help="Try to rank up a level in the game by spending XP."
|
|
|
|
|
+ # )
|
|
|
|
|
+ # async def levelup(self, ctx: commands.Context):
|
|
|
|
|
+ # # Halt on ignore list or games channel settings.
|
|
|
|
|
+ # if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
+ # return
|
|
|
|
|
+ #
|
|
|
|
|
+ # xp_spent, total_xp = await get_xp(self.bot.pg, ctx.author.id)
|
|
|
|
|
+ # xp_available = total_xp - xp_spent
|
|
|
|
|
+ # level = await get_level(self.bot.pg, ctx.author.id)
|
|
|
|
|
+ # threshold = (level + 1) * 50 + xp_spent
|
|
|
|
|
+ # if xp_available < threshold:
|
|
|
|
|
+ # await ctx.send(f"Not yet, you require {threshold - xp_available} more XP to level up.")
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # await level_up(self.bot.pg, ctx.author.id, threshold)
|
|
|
|
|
+ # await ctx.send(f"You have gained three ability points climbed the ranks for {threshold} XP, leaving you {xp_available - threshold} remaining.")
|
|
|
|
|
+ # await increment_all_coin(self.bot.pg)
|
|
|
|
|
+ #
|
|
|
|
|
+ # @commands.command(
|
|
|
|
|
+ # description="Rob another player",
|
|
|
|
|
+ # brief="Rob a player",
|
|
|
|
|
+ # help="Pursuit a robbery."
|
|
|
|
|
+ # )
|
|
|
|
|
+ # async def rob(self, ctx: commands.Context):
|
|
|
|
|
+ # # Halt on ignore list or games channel settings.
|
|
|
|
|
+ # if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
+ # return
|
|
|
|
|
+ #
|
|
|
|
|
+ # if get_theft_skill(self.bot.pg, ctx.author.id < 1):
|
|
|
|
|
+ # await ctx.send("You do not have the `Theft` skill.")
|
|
|
|
|
+ # return
|
|
|
|
|
+ #
|
|
|
|
|
+ # victim_id = get_random_player(self.bot.pg)
|
|
|
|
|
+ # await ctx.send(f"You have decided to rob{self.bot.get_user(victim_id)}, unfortunately crime has not been invited yet.")
|
|
|
|
|
+ #
|
|
|
|
|
+ # @commands.command(
|
|
|
|
|
+ # description="Simulate dice rolls.",
|
|
|
|
|
+ # brief="Roll dice",
|
|
|
|
|
+ # help="Roll two dice."
|
|
|
|
|
+ # )
|
|
|
|
|
+ # async def dice(self, ctx: commands.Context, amount: Optional[int], sides: Optional[int]):
|
|
|
|
|
+ # # Halt on ignore list or games channel settings.
|
|
|
|
|
+ # if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
+ # return
|
|
|
|
|
+ #
|
|
|
|
|
+ # if not amount:
|
|
|
|
|
+ # amount = 2
|
|
|
|
|
+ # if not sides:
|
|
|
|
|
+ # sides = 6
|
|
|
|
|
+ #
|
|
|
|
|
+ # if amount < 1:
|
|
|
|
|
+ # await ctx.send("You want me to roll less than one die? How!?")
|
|
|
|
|
+ # elif amount > 25:
|
|
|
|
|
+ # await ctx.send("I can not hold so many dice at one time.")
|
|
|
|
|
+ # elif sides < 2:
|
|
|
|
|
+ # await ctx.send("A die has physical minimum of 2 sides. Don't ask for impossible objects.")
|
|
|
|
|
+ # elif sides > 256:
|
|
|
|
|
+ # await ctx.send("My tiny hands can not handle such large dice. Even if both are virtual.")
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # embed = discord.Embed(title = "Dice roll", description=f"Rolling {amount} dice, with {sides} sides.")
|
|
|
|
|
+ # while amount > 0:
|
|
|
|
|
+ # embed.insert_field_at(0, name=f"Die {amount}", value=random.randint(1, sides), inline=True)
|
|
|
|
|
+ # amount -= 1
|
|
|
|
|
+ # await ctx.send(embed=embed)
|
|
|
|
|
+ #
|
|
|
|
|
+ # @commands.command(
|
|
|
|
|
+ # description="Ask the magic 8-ball.",
|
|
|
|
|
+ # brief="Pose question",
|
|
|
|
|
+ # help="Simulate the iconic 8-ball gimmic.",
|
|
|
|
|
+ # name="8ball"
|
|
|
|
|
+ # )
|
|
|
|
|
+ # async def eightball(self, ctx: commands.Context, *, question: str = None):
|
|
|
|
|
+ # # Halt on ignore list or games channel settings.
|
|
|
|
|
+ # if await check_ignore(self.bot.pg, ctx.author, ctx.channel):
|
|
|
|
|
+ # return
|
|
|
|
|
+ #
|
|
|
|
|
+ # if not question:
|
|
|
|
|
+ # messages = [
|
|
|
|
|
+ # "Don't forget to ask a question...",
|
|
|
|
|
+ # "Hey, that's not a question!",
|
|
|
|
|
+ # "What would you like to know?",
|
|
|
|
|
+ # "You want me to predict nothing?",
|
|
|
|
|
+ # "Are you intentionally not asking a question?",
|
|
|
|
|
+ # "Ask a question you tease!",
|
|
|
|
|
+ # "You will die alone.",
|
|
|
|
|
+ # ]
|
|
|
|
|
+ # elif question.strip().count(" ") == 0:
|
|
|
|
|
+ # messages = [
|
|
|
|
|
+ # "What?",
|
|
|
|
|
+ # "That is not a question",
|
|
|
|
|
+ # "Can you use more than one word?",
|
|
|
|
|
+ # "What is the question?",
|
|
|
|
|
+ # "Sorry?"
|
|
|
|
|
+ # ]
|
|
|
|
|
+ # elif question.strip()[-1] != "?":
|
|
|
|
|
+ # messages = [
|
|
|
|
|
+ # "Did you forget to end with a question mark?",
|
|
|
|
|
+ # "Is that a statement or question?",
|
|
|
|
|
+ # "Don't questions usually end with a question mark?",
|
|
|
|
|
+ # "Don't forget to use punctuation."
|
|
|
|
|
+ # ]
|
|
|
|
|
+ # else:
|
|
|
|
|
+ # messages = [
|
|
|
|
|
+ # "Yes.",
|
|
|
|
|
+ # "No.",
|
|
|
|
|
+ # "Affirmative.",
|
|
|
|
|
+ # "No way!",
|
|
|
|
|
+ # "Negative.",
|
|
|
|
|
+ # "Positive.",
|
|
|
|
|
+ # "Correct.",
|
|
|
|
|
+ # "Incorrect.",
|
|
|
|
|
+ # "Likely",
|
|
|
|
|
+ # "Unlikely",
|
|
|
|
|
+ # "Maybe.",
|
|
|
|
|
+ # "Definately!",
|
|
|
|
|
+ # "Perhaps?",
|
|
|
|
|
+ # "Most indubitably.",
|
|
|
|
|
+ # "Does the pope shit in the woods?",
|
|
|
|
|
+ # "When hell freezes over.",
|
|
|
|
|
+ # "Only between 9 and 5.",
|
|
|
|
|
+ # "Only just before you die.",
|
|
|
|
|
+ # "ERROR: Probability failure.",
|
|
|
|
|
+ # "Ask again later.",
|
|
|
|
|
+ # "I don't know.",
|
|
|
|
|
+ # "Unpredictable.",
|
|
|
|
|
+ # "Unknown",
|
|
|
|
|
+ # ]
|
|
|
|
|
+ # await ctx.send(random.choice(messages))
|