58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
|
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))
|