1
Fork 0
mirror of https://github.com/wlinator/luminara.git synced 2024-10-02 18:23:12 +00:00

Subclass client

This commit is contained in:
wlinator 2024-03-23 11:45:48 +01:00
parent 7c38493d48
commit 24ba6375d3
3 changed files with 39 additions and 17 deletions

19
main.py
View file

@ -1,5 +1,4 @@
import os
import platform
import discord
from discord.ext import bridge
@ -12,6 +11,7 @@ from handlers.XPHandler import XPHandler
from handlers import LoggingHandler, ErrorHandler
from services.GuildConfig import GuildConfig
from services.Help import RacuHelp
from services.Client import RacuBot
load_dotenv('.env')
instance = os.getenv("INSTANCE")
@ -24,7 +24,7 @@ def get_prefix(bot, message):
return "."
client = bridge.Bot(
client = RacuBot(
owner_id=int(os.getenv('OWNER_ID')),
command_prefix=get_prefix,
intents=discord.Intents.all(),
@ -35,21 +35,6 @@ client = bridge.Bot(
logs = LoggingHandler.setup_logger()
@client.event
async def on_ready():
logs.info(f"[INFO] Logged in as {client.user.name}")
logs.info(f"[INFO] discord.py API version: {discord.__version__}")
logs.info(f"[INFO] Python version: {platform.python_version()}")
logs.info(f"[INFO] Running on: {platform.system()} {platform.release()} ({os.name})")
logs.info("-------------------------------------------------------")
"""
https://docs.pycord.dev/en/stable/api/events.html#discord.on_ready
This function isn't guaranteed to only be called once.
Event is called when RESUME request fails.
"""
@client.listen()
async def on_message(message):

36
services/Client.py Normal file
View file

@ -0,0 +1,36 @@
import logging
import os
import discord
import platform
from discord.ext import bridge
logs = logging.getLogger('Racu.Core')
class RacuBot(bridge.Bot):
async def on_ready(self):
logs.info(f"[INFO] Logged in as {self.user.name} | {self.user.id}")
logs.info(f"[INFO] discord.py API version: {discord.__version__}")
logs.info(f"[INFO] Python version: {platform.python_version()}")
logs.info(f"[INFO] Running on: {platform.system()} {platform.release()} ({os.name})")
logs.info("-------------------------------------------------------")
"""
https://docs.pycord.dev/en/stable/api/events.html#discord.on_ready
This function isn't guaranteed to only be called once.
Event is called when RESUME request fails.
"""
@staticmethod
async def get_or_fetch_channel(guild: discord.Guild, channel_id):
channel = guild.get_channel(channel_id)
if not channel:
try:
channel = await guild.fetch_channel(channel_id)
except (discord.HTTPException, discord.NotFound, discord.Forbidden):
pass
return channel

View file

@ -6,6 +6,7 @@ import os
load_dotenv('.env')
class RacuHelp(commands.HelpCommand):
def __init__(self, **options):