Files
Acrybot/Acronymbot.py
2023-04-23 14:50:24 +10:00

249 lines
9.2 KiB
Python

import discord
import sqlite3
from discord import app_commands
from BlackJack import BlackJack
botIntents = discord.Intents.all()
client = discord.Client(intents=botIntents)
tree = app_commands.CommandTree(client)
blackJack = BlackJack()
@client.event
async def on_ready():
await tree.sync()
print('Itsa me Mario!')
# @client.event
# async def on_message_delete(message: discord.Message):
# channel = client.get_channel(message.channel.id)
# await channel.send(f"{message.author} deleted a message! @everyone, get him!")
# dmessage = await channel.send(f"Here's the message they deleted! \"{message.content}\". What a sick fuck")
# await dmessage.delete()
"""
#### Test ####
"""
class Buttons(discord.ui.View):
def __init__(self, *, timeout=180):
super().__init__(timeout=timeout)
@discord.ui.button(label="Pay $5", style=discord.ButtonStyle.green)
async def green_button(self, interaction: discord.Interaction, button: discord.ui.Button):
print(f"{interaction.user} pressed the green button")
button.disabled = True
button.label = "No Refunds!"
for child in self.children:
child.disabled = True
await interaction.response.edit_message(content=f"Mario Moment Achieved", view=self)
@discord.ui.button(label="Punch AcryBot", style=discord.ButtonStyle.red)
async def red_button(self, interaction: discord.Interaction, button: discord.ui.Button):
print(f"{interaction.user} pressed the red button")
button.disabled = True
button.label = f"fuck you {interaction.user}"
for child in self.children:
child.disabled = True
await interaction.response.edit_message(content=f"Ouch!", view=self)
@tree.command(description="Lmao")
async def test(interaction:discord.Interaction):
print(f"{interaction.user} used command! Woohoo!")
try:
await interaction.response.send_message("Pay $5 for a Mario Moment", view=Buttons())
except discord.app_commands.errors.CommandInvokeError:
print("Uh oh! It failed!")
"""
#### Black Jack ####
"""
class HitOrStand(discord.ui.View):
def __init__(self, *, timeout=180):
super().__init__(timeout=timeout)
self.content = None
@discord.ui.button(label="Hit", style=discord.ButtonStyle.green)
async def hit(self, interaction: discord.Interaction, button: discord.ui.Button):
self.content = "h"
for child in self.children:
child.disabled = True
await interaction.response.edit_message(content="You Hit!", view=self)
self.stop()
@discord.ui.button(label="Stand", style=discord.ButtonStyle.red)
async def stand(self, interaction: discord.Interaction, button: discord.ui.Button):
self.content = "s"
for child in self.children:
child.disabled = True
await interaction.response.edit_message(content="You stood!", view=self)
self.stop()
@tree.command(description="Play Black Jack!")
async def bj(interaction: discord.Interaction):
discinput = lambda m: discordInput(interaction, m)
discoutput = lambda m: discordOutput(interaction, m)
await interaction.response.send_message("Let's play Black Jack!")
await blackJack.play_game(interaction.user.id, 100, discinput, discoutput)
async def discordInput(interaction: discord.Interaction, message:str):
response = HitOrStand()
await interaction.followup.send(message, view=response)
await response.wait()
return response.content
async def discordOutput(interaction: discord.Interaction, message):
await interaction.followup.send(message)
@tree.command(description="Find your Balance")
async def bal(interaction: discord.Interaction):
conn = sqlite3.connect("ledger.db")
cur = conn.cursor()
ID = interaction.user.id
data = cur.execute("SELECT * FROM ledger WHERE USERID = ?", (ID,))
await interaction.response.send_message(data)
"""
#### Calculator ####
"""
class Calculator(discord.ui.View):
def __init__(self, *, timeout=180):
super().__init__(timeout=timeout)
self.numDigs = 0
self.MAXIMUMBARSIZE = 30
m = 0
self.inputOne = 0
self.inputTwo = None
self.expression = None
self.output = None
self.digit = 1
self.addition = lambda x, y: x + y
self.subtraction = lambda x, y: x - y
self.multiplication = lambda x, y: x * y
self.division = lambda x, y: x / y
self.exponent = lambda x, y: x ** y
self.funckyDict = {
self.addition: "+",
self.subtraction: "-",
self.multiplication: "*",
self.division: "/",
self.exponent: "^"
}
def numDigits(self, integer):
numDigits = 0
while(integer):
numDigits += 1
integer = integer // 10
return numDigits
def display(self):
inputOneLength = self.numDigits(self.inputOne)
inputTwoLength = self.numDigits(self.inputTwo)
outputLength = self.numDigits(self.output)
if (self.inputTwo is None) and (self.output is None):
padding = self.MAXIMUMBARSIZE - inputOneLength - 1
displayOutput = " ".join(['`', ' ' * padding, f"{self.inputOne}", "`"])
elif (self.output is None):
padding = self.MAXIMUMBARSIZE - inputOneLength - inputTwoLength - 3
displayOutput = " ".join(['`', ' ' * padding, f"{self.inputTwo}", f"{self.funckyDict[self.expression]}", f"{self.inputOne}", "`"])
else:
padding = self.MAXIMUMBARSIZE - inputOneLength - inputTwoLength - outputLength - 4
displayOutput = " ".join(['`', ' ' * padding, f"{self.inputTwo}", f"{self.funckyDict[self.expression]}", f"{self.inputOne}", "=", f"{self.output}", "`"])
return displayOutput
async def number(self, interaction: discord.Interaction, number):
self.inputOne = self.inputOne * 10 + number
self.numDigs = self.numDigs + 1
await interaction.response.edit_message(
content=self.display(),
view=self)
async def operator(self, interaction: discord.Interaction, operation):
self.inputTwo = self.inputOne
self.inputOne = 0
self.expression = operation
await interaction.response.edit_message(
content=self.display(),
view=self)
@discord.ui.button(label="^", style=discord.ButtonStyle.red, row=4)
async def power(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.operator(interaction, self.exponent)
@discord.ui.button(label="0", style=discord.ButtonStyle.blurple,row=4)
async def zero(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 0)
@discord.ui.button(label="1", style=discord.ButtonStyle.blurple, row=1)
async def one(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 1)
@discord.ui.button(label="2", style=discord.ButtonStyle.blurple, row=1)
async def two(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 2)
@discord.ui.button(label="3", style=discord.ButtonStyle.blurple, row=1)
async def three(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 3)
@discord.ui.button(label="4", style=discord.ButtonStyle.blurple, row=2)
async def four(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 4)
@discord.ui.button(label="5", style=discord.ButtonStyle.blurple, row=2)
async def five(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 5)
@discord.ui.button(label="6", style=discord.ButtonStyle.blurple, row=2)
async def six(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 6)
@discord.ui.button(label="7", style=discord.ButtonStyle.blurple, row=3)
async def seven(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 7)
@discord.ui.button(label="8", style=discord.ButtonStyle.blurple, row=3)
async def eight(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 8)
@discord.ui.button(label="9", style=discord.ButtonStyle.blurple, row=3)
async def nine(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.number(interaction, 9)
@discord.ui.button(label="+", style=discord.ButtonStyle.red, row=1)
async def plus(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.operator(interaction, self.addition)
@discord.ui.button(label="*", style=discord.ButtonStyle.red, row=2)
async def mult(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.operator(interaction, self.multiplication)
@discord.ui.button(label="-", style=discord.ButtonStyle.red, row=3)
async def minus(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.operator(interaction, self.subtraction)
@discord.ui.button(label="=", style=discord.ButtonStyle.green, row=4)
async def equals(self, interaction: discord.Interaction, button: discord.ui.Button):
self.output = self.expression(self.inputTwo, self.inputOne)
await interaction.response.edit_message(
content=self.display(),
view=self)
@discord.ui.button(label="/", style=discord.ButtonStyle.red, row=4)
async def divide(self, interaction: discord.Interaction, button: discord.ui.Button):
await self.operator(interaction, self.division)
@tree.command(description="Do Meth")
async def calculator(interaction: discord.Interaction):
await interaction.response.defer()
calculator = Calculator()
await interaction.followup.send(content="`" + " " * calculator.MAXIMUMBARSIZE + "0`", view=calculator)
"""
#### Fin ####
"""
client.run('NzgwNzg4NDIwMjkzMDM0MDA0.GEKkUB.Bbl09D3lWMGea_mcIESPMLUyGlkW-6N53BPFjI')