| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- from discord.ext import commands
- import discord
- import random
- from typing import Optional
- def setup(bot: commands.Bot):
- bot.add_cog(Games(bot))
- class Games(commands.Cog):
- """Gaming commands."""
- def __init__(self, bot: commands.Bot):
- self.bot = bot
- @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]):
- if amount and amount < 1:
- await ctx.send("You want me to roll less as one die? How!?")
- elif amount and amount > 25:
- await ctx.send("I can not hold so many dice at one time.")
- elif sides and sides < 2:
- await ctx.send("A die has physical minimum of 2 sides. Don't ask for impossible objects.")
- else:
- if sides:
- sides = sides
- else:
- sides = 6
- if not amount:
- amount = 2
- 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):
- 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.",
- ]
- 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.",
- ]
- await ctx.send(random.choice(messages))
|