Tidy up main
All checks were successful
Build and Publish college-bot-v2 / build_and_publish (push) Successful in 2m36s
All checks were successful
Build and Publish college-bot-v2 / build_and_publish (push) Successful in 2m36s
This commit is contained in:
parent
ea23b453f5
commit
b5622504c9
1 changed files with 7 additions and 18 deletions
25
src/main.py
25
src/main.py
|
@ -1,20 +1,15 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import datetime
|
import datetime
|
||||||
import glob
|
import glob
|
||||||
import json
|
|
||||||
import logging
|
|
||||||
import os
|
|
||||||
import redis
|
|
||||||
import random
|
import random
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
|
import logging
|
||||||
import time
|
import time
|
||||||
import traceback
|
import traceback
|
||||||
import typing
|
|
||||||
from logging import FileHandler
|
from logging import FileHandler
|
||||||
from threading import Event, Thread
|
from threading import Event, Thread
|
||||||
|
|
||||||
import aiofiles
|
|
||||||
import discord
|
import discord
|
||||||
import httpx
|
import httpx
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
|
@ -24,14 +19,8 @@ from rich.logging import RichHandler
|
||||||
from conf import CONFIG
|
from conf import CONFIG
|
||||||
|
|
||||||
|
|
||||||
class KillableThread(Thread):
|
class KumaThread(Thread):
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, url: str, interval: int = 60):
|
||||||
super().__init__(*args, **kwargs)
|
|
||||||
self.kill = Event()
|
|
||||||
|
|
||||||
|
|
||||||
class KumaThread(KillableThread):
|
|
||||||
def __init__(self, url: str, interval: float = 60.0):
|
|
||||||
super().__init__(target=self.run)
|
super().__init__(target=self.run)
|
||||||
self.daemon = True
|
self.daemon = True
|
||||||
self.log = logging.getLogger("jimmy .status")
|
self.log = logging.getLogger("jimmy .status")
|
||||||
|
@ -45,7 +34,7 @@ class KumaThread(KillableThread):
|
||||||
def calculate_backoff(self) -> float:
|
def calculate_backoff(self) -> float:
|
||||||
rnd = random.uniform(0, 1)
|
rnd = random.uniform(0, 1)
|
||||||
retries = min(self.retries, 1000)
|
retries = min(self.retries, 1000)
|
||||||
t = (2 * 2**retries) + rnd
|
t: int = round((2 * 2**retries) + rnd)
|
||||||
self.log.debug("Backoff: 2 * (2 ** %d) + %f = %f", retries, rnd, t)
|
self.log.debug("Backoff: 2 * (2 ** %d) + %f = %f", retries, rnd, t)
|
||||||
# T can never exceed self.interval
|
# T can never exceed self.interval
|
||||||
return max(0, min(self.interval, t))
|
return max(0, min(self.interval, t))
|
||||||
|
@ -113,7 +102,6 @@ for logger in CONFIG["logging"].get("suppress", []):
|
||||||
class Client(commands.Bot):
|
class Client(commands.Bot):
|
||||||
def __init_(self, *args, **kwargs):
|
def __init_(self, *args, **kwargs):
|
||||||
self.uptime_thread = None
|
self.uptime_thread = None
|
||||||
|
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
async def on_connect(self):
|
async def on_connect(self):
|
||||||
|
@ -217,6 +205,7 @@ async def on_application_command_error(ctx: discord.ApplicationContext, exc: Exc
|
||||||
|
|
||||||
@bot.listen()
|
@bot.listen()
|
||||||
async def on_application_command_completion(ctx: discord.ApplicationContext):
|
async def on_application_command_completion(ctx: discord.ApplicationContext):
|
||||||
|
# noinspection PyUnresolvedReferences
|
||||||
time_taken = discord.utils.utcnow() - ctx.start_time
|
time_taken = discord.utils.utcnow() - ctx.start_time
|
||||||
log.info(
|
log.info(
|
||||||
f"Completed command [b]{ctx.command}[/] from {ctx.author} in "
|
f"Completed command [b]{ctx.command}[/] from {ctx.author} in "
|
||||||
|
@ -232,9 +221,9 @@ async def delete_message(ctx: discord.ApplicationContext, message: discord.Messa
|
||||||
return await ctx.respond("I don't have permission to delete messages in this channel.", delete_after=30)
|
return await ctx.respond("I don't have permission to delete messages in this channel.", delete_after=30)
|
||||||
|
|
||||||
log.info("%s deleted message %s>%s: %r", ctx.author, ctx.channel.name, message.id, message.content)
|
log.info("%s deleted message %s>%s: %r", ctx.author, ctx.channel.name, message.id, message.content)
|
||||||
await message.delete(delay=3)
|
await message.delete(delay=1)
|
||||||
await ctx.respond(f"\N{white heavy check mark} Deleted message by {message.author.display_name}.")
|
await ctx.respond(f"\N{white heavy check mark} Deleted message by {message.author.display_name}.")
|
||||||
await ctx.delete(delay=15)
|
await ctx.delete(delay=5)
|
||||||
|
|
||||||
|
|
||||||
@bot.slash_command(name="about")
|
@bot.slash_command(name="about")
|
||||||
|
|
Loading…
Reference in a new issue