remove graceful stop, update to discord-py-interaction 5.0.0

We had to remove the graceful stop because it somehow blocked the bot
from starting.
This commit is contained in:
Philipp 2024-10-08 00:15:01 +02:00
parent 3b23bd1a0b
commit 5ec82be548
Signed by: Philipp
GPG key ID: 9EBD8439AFBAB750
2 changed files with 49 additions and 87 deletions

View file

@ -3,3 +3,4 @@ MYSQL_USER=root
MYSQL_PASSWORD=password MYSQL_PASSWORD=password
MYSQL_DATABASE=database MYSQL_DATABASE=database
DISCORD_TOKEN=token DISCORD_TOKEN=token
DISCORD_GUILD=433600034983116810

View file

@ -8,37 +8,15 @@ from dotenv import load_dotenv
from steamid import SteamID from steamid import SteamID
from loguru import logger from loguru import logger
class GracefulDeath:
"""Catch signals to allow graceful shutdown."""
def __init__(self):
self.receivedSignal=self.receivedSignalTermSignal=False
catchSignals = [
1,
2,
3,
10,
12,
15,
]
for signum in catchSignals:
signal.signal(signum, self.handler)
def handler(self, signum):
self.lastSignal=signum
self.receivedSignal=True
if signum in [2, 3, 15]:
self.receivedSignalTermSignal=True
def main(args):
sighandler = GracefulDeath()
load_dotenv() load_dotenv()
token = os.getenv('DISCORD_TOKEN') token = os.getenv('DISCORD_TOKEN')
host = os.getenv('MYSQL_HOST') host = os.getenv('MYSQL_HOST')
user = os.getenv('MYSQL_USER') user = os.getenv('MYSQL_USER')
password = os.getenv('MYSQL_PASSWORD') password = os.getenv('MYSQL_PASSWORD')
db = os.getenv('MYSQL_DATABASE') db = os.getenv('MYSQL_DATABASE')
guild_id = os.getenv('DISCORD_GUILD')
bot = Client(intents=Intents.DEFAULT) bot = Client()
con = Database(host, user, password, db) con = Database(host, user, password, db)
@ -48,26 +26,18 @@ def main(args):
logger.info(f"First init of database... Please disable this afterwards with the flag init_dabase") logger.info(f"First init of database... Please disable this afterwards with the flag init_dabase")
except: except:
logger.info(f"Skipping database init...") logger.info(f"Skipping database init...")
pass
@slash_command( @listen()
name="reserve_slot", async def on_ready():
description="Claim your reserved slot on the DM Server", logger.info(f"We logged in as {bot.app.name}.")
scopes=[433600034983116810],
)
@slash_option(
name="steamid",
description="Please provide your SteamID, from https://steamid.xyz/",
required=True,
opt_type=OptionType.STRING,
)
@slash_command(name="reserve_slot", description="Claim your reserved slot on the DM Server", scopes=[guild_id])
@slash_option(name="steamid", description="Please provide your SteamID, from https://steamid.xyz/", required=True, opt_type=OptionType.STRING)
async def reserve_slot(ctx: SlashContext, steamid: str): async def reserve_slot(ctx: SlashContext, steamid: str):
channel = ctx.channel.id channel = ctx.channel.id
user = ctx.user user = ctx.user
if channel != "433738529898627073" and channel != "441985560144379912": if channel != 433738529898627073 and channel != 441985560144379912:
await ctx.send(f"This command only works in the Channel <#433738529898627073>!", ephemeral=True) await ctx.send(f"This command only works in the Channel <#433738529898627073>!", ephemeral=True)
logger.debug(f"Command was used in the wrong channel. ({channel})") logger.debug(f"Command was used in the wrong channel. ({channel})")
return return
@ -97,12 +67,3 @@ def main(args):
logger.debug(f"{steam_id.steam2(1)} or User {user.username} ({user.id}) is already in the database.") logger.debug(f"{steam_id.steam2(1)} or User {user.username} ({user.id}) is already in the database.")
bot.start(token) bot.start(token)
while True:
logger.info("Trying graceful shutdown...")
if sighandler.receivedSignal:
bot.remove("reserve_slot", remove_commands=True)
exit()
if __name__ == '__main__':
main(sys.argv[1:])