import logging from logging import Logger from discord import Activity, ActivityType from discord.ext import commands from libbot import config_get from classes.holo_bot import HoloBot logger: Logger = logging.getLogger(__name__) class Utility(commands.Cog): def __init__(self, client: HoloBot): self.client: HoloBot = client @commands.Cog.listener() async def on_ready(self) -> None: logger.info("Logged in as %s", self.client.user) activity_type: str = await config_get("type", "status") activity_message: str = await config_get("message", "status") if activity_type == "playing": await self.client.change_presence( activity=Activity(type=ActivityType.playing, name=activity_message) ) elif activity_type == "watching": await self.client.change_presence( activity=Activity(type=ActivityType.watching, name=activity_message) ) elif activity_type == "listening": await self.client.change_presence( activity=Activity(type=ActivityType.listening, name=activity_message) ) elif activity_type == "streaming": await self.client.change_presence( activity=Activity(type=ActivityType.streaming, name=activity_message) ) elif activity_type == "competing": await self.client.change_presence( activity=Activity(type=ActivityType.competing, name=activity_message) ) elif activity_type == "custom": await self.client.change_presence( activity=Activity(type=ActivityType.custom, name=activity_message) ) else: return logger.info( "Set activity type to %s with message %s", activity_type, activity_message ) def setup(client: HoloBot) -> None: client.add_cog(Utility(client))