Compare commits

...

2 Commits

Author SHA1 Message Date
1a8f84b333
feat: reload when SIGUSR1 is received 2025-06-08 13:11:50 -04:00
94bdb91eb0
feat: add trusted user list 2025-06-08 13:11:50 -04:00
3 changed files with 20 additions and 11 deletions

View File

@ -8,7 +8,7 @@ import audio
import commands
import utils
from constants import EMBED_COLOR
from state import client, players
from state import client, players, trusted_users
from .playback import resume
from .utils import command_allowed, ensure_joined, play_next
@ -147,6 +147,7 @@ async def queue_or_play(message, edited=False):
)
>= 5
and not len(message.guild.voice_client.channel.members) == 2
and message.author.id not in trusted_users
):
await utils.reply(
message,

27
core.py
View File

@ -3,6 +3,7 @@ import contextlib
import importlib
import inspect
import io
import signal
import textwrap
import time
import traceback
@ -59,17 +60,8 @@ async def on_message(message, edited=False):
match matched:
case C.RELOAD if message.author.id in OWNERS:
reloaded_modules = set()
start = time.time()
rreload(reloaded_modules, __import__("core"))
rreload(reloaded_modules, __import__("extra"))
for module in filter(
lambda v: inspect.ismodule(v) and v.__name__ in RELOADABLE_MODULES,
globals().values(),
):
rreload(reloaded_modules, module)
reloaded_modules = reload()
end = time.time()
debug(
f"reloaded {len(reloaded_modules)} modules in {round(end - start, 2)}s",
@ -186,3 +178,18 @@ def rreload(reloaded_modules, module):
if "__reload_module__" in dir(module):
module.__reload_module__()
def reload(*_):
reloaded_modules = set()
rreload(reloaded_modules, __import__("core"))
rreload(reloaded_modules, __import__("extra"))
for module in filter(
lambda v: inspect.ismodule(v) and v.__name__ in RELOADABLE_MODULES,
globals().values(),
):
rreload(reloaded_modules, module)
return reloaded_modules
signal.signal(signal.SIGUSR1, reload)

View File

@ -17,3 +17,4 @@ message_responses = LimitedSizeDict()
players = {}
sponsorblock_cache = LimitedSizeDict()
start_time = time.time()
trusted_users = []