First Commit
This commit is contained in:
Executable
+57
@@ -0,0 +1,57 @@
|
||||
import discord
|
||||
import requests
|
||||
from discord.ext import commands
|
||||
from discord.ui import Select, View
|
||||
from random import shuffle
|
||||
from utils import sql_commands as mydb
|
||||
from utils.bank_functions import *
|
||||
|
||||
class MyView(View):
|
||||
def __init__(self, right: str, wrong: list):
|
||||
super().__init__()
|
||||
self.right = right
|
||||
options = wrong.copy()
|
||||
options.append(right)
|
||||
shuffle(options)
|
||||
|
||||
select = Select(
|
||||
placeholder="Pick an answer:",
|
||||
min_values=1,
|
||||
max_values=1,
|
||||
options=[discord.SelectOption(label=option) for option in options]
|
||||
)
|
||||
|
||||
self.add_item(select)
|
||||
|
||||
select.callback = self.select_callback # Set the callback method
|
||||
|
||||
async def select_callback(self, interaction: discord.Interaction):
|
||||
if interaction.data['values'][0] == self.right: # type: ignore
|
||||
await interaction.response.edit_message(content=f"You are correct!\n{self.right} was the right answer.", view=None)
|
||||
else:
|
||||
await interaction.response.edit_message(content=f"Oh no, that's not right!\n{self.right} was the right answer.", view=None)
|
||||
|
||||
class Test(commands.Cog):
|
||||
def __init__(self, client):
|
||||
self.client = client
|
||||
|
||||
@commands.is_owner()
|
||||
@commands.command(name="quiz")
|
||||
async def quiz(self, ctx):
|
||||
response = requests.get("https://opentdb.com/api.php?amount=1&category=18&difficulty=medium&type=multiple").json()["results"][0]
|
||||
question = response["question"]
|
||||
|
||||
view = MyView(response["correct_answer"], response["incorrect_answers"])
|
||||
await ctx.send(question, view=view)
|
||||
|
||||
@commands.is_owner()
|
||||
@commands.command(name="lottery", aliases=["bet" , "lotto"])
|
||||
async def lottery(self, ctx, amount:int=None): #type: ignore
|
||||
if amount == None:
|
||||
await ctx.send(mydb.select("JACKPOT", "global", True, "ID", "1"))
|
||||
return
|
||||
# mydb.select()
|
||||
|
||||
|
||||
async def setup(client):
|
||||
await client.add_cog(Test(client))
|
||||
Reference in New Issue
Block a user