Compare commits

...

3 Commits

Author SHA1 Message Date
Anorak_1 fcc409dd37 Converted to use dbutil 2023-08-08 17:34:51 +02:00
Anorak_1 838600c369 Moved app message functions under MessageDB class
for hinting
2023-08-08 17:33:37 +02:00
Anorak_1 11ed17f2ea Created dbutils.py for easy database manipulation 2023-08-08 17:26:45 +02:00
2 changed files with 33 additions and 23 deletions

31
bot.py
View File

@ -4,10 +4,10 @@ import asyncio
import discord
import os
import json
import sqlite3
from dotenv import load_dotenv
from discord.ui import Modal, InputText
from discord.utils import get
from dbutil import MessageDB
load_dotenv()
@ -74,11 +74,7 @@ async def apply(ctx):
print(msg.id)
data = (msg.id, ctx.author.id, ctx.guild.id)
con = sqlite3.connect("applications.db")
cur = con.cursor()
cur.execute(f"INSERT INTO app_msg_db VALUES (?, ?, ?)", data)
con.commit()
MessageDB.add_application_msg(msg.id, ctx.author.id, ctx.guild.id)
await user.send('Thank you for applying!')
@ -93,10 +89,8 @@ class ApplicationButtonsView(discord.ui.View):
)
async def accept(self, button: discord.ui.Button, interaction: discord.Interaction):
msg_id = str(interaction.message.id)
con = sqlite3.connect("applications.db")
cur = con.cursor()
cur.execute(f"SELECT user_id, guild_id FROM app_msg_db WHERE msg_id={msg_id}")
user_id, guild_id = cur.fetchone()
user_id, guild_id = MessageDB.get_application_msg(msg_id)
modal = ApplicationModal(title=f"Accepting: {bot.get_user(user_id).display_name}")
modal.set_action("acc")
@ -110,10 +104,8 @@ class ApplicationButtonsView(discord.ui.View):
)
async def decline(self, button: discord.ui.Button, interaction: discord.Interaction):
msg_id = str(interaction.message.id)
con = sqlite3.connect("applications.db")
cur = con.cursor()
cur.execute(f"SELECT user_id, guild_id FROM app_msg_db WHERE msg_id={msg_id}")
user_id, guild_id = cur.fetchone()
user_id, guild_id = MessageDB.get_application_msg(msg_id)
modal = ApplicationModal(title=f"Declining: {bot.get_user(user_id).display_name}")
modal.set_action("dec")
@ -127,10 +119,7 @@ class ApplicationModal(discord.ui.Modal):
async def callback(self, interaction: discord.Interaction):
reason = self.children[0].value
msg_id = str(interaction.message.id)
con = sqlite3.connect("applications.db")
cur = con.cursor()
cur.execute(f"SELECT user_id, guild_id FROM app_msg_db WHERE msg_id={msg_id}")
user_id, guild_id = cur.fetchone()
user_id, guild_id = MessageDB.get_application_msg(msg_id)
if self.action == "acc":
user = await bot.get_user(user_id).create_dm()
await user.send(f"You have been accepted to the CreatTopia Minecraft server!")
@ -232,11 +221,7 @@ class ApplicationStartButtonView(discord.ui.View):
print(msg.id)
data = (msg.id, interaction.user.id, interaction.guild.id)
con = sqlite3.connect("applications.db")
cur = con.cursor()
cur.execute(f"INSERT INTO app_msg_db VALUES (?, ?, ?)", data)
con.commit()
MessageDB.add_application_msg(msg.id, interaction.user.id, interaction.guild.id)
await user.send('Thank you for applying!')

25
dbutil.py 100644
View File

@ -0,0 +1,25 @@
import json
import os
import sqlite3
class MessageDB():
def add_application_msg(msg_id: str, author_id: str, guild_id: str) -> None:
data = (msg_id, author_id, guild_id)
con = sqlite3.connect("applications.db")
cur = con.cursor()
cur.execute("INSERT INTO app_msg_db VALUES (?, ?, ?)", data)
con.commit()
def get_application_msg(msg_id: str) -> tuple[str, str]:
con = sqlite3.connect("applications.db")
cur = con.cursor()
cur.execute(f"SELECT user_id, guild_id FROM app_msg_db WHERE msg_id={msg_id}")
user_id, guild_id = cur.fetchone()
return user_id, guild_id
def remove_application_msg(msg_id: str) -> None:
con = sqlite3.connect("applications.db")
cur = con.cursor()
cur.execute(f"DELETE FROM app_msg_db WHERE msg_id={msg_id}")
con.commit()