2021-07-15 22:54:09 +01:00
import yaml # YAML parser for Bot config files
import asyncio # Discord Py Dependency
import discord # Main Lib
from discord . ext import commands # Commands module
from discord_slash import SlashCommand , SlashContext , cog_ext , utils # Slash Command Library
from discord_slash . utils . manage_commands import create_choice , create_option # Slash Command features
import logging
# logger and handler
2021-07-16 23:53:31 +01:00
from bot import checkConfig , parseConfigCheck , configFile , setConfig , yaml_load , yaml_dump
2021-07-15 22:54:09 +01:00
#### Actions for the bot to take when the Bot joins a guild.
2021-07-16 23:53:31 +01:00
class on_guild_join ( commands . Cog , name = ' On Guild Join Events ' ) :
2021-07-15 22:54:09 +01:00
def __init__ ( self , client ) :
self . client = client
@commands.Cog.listener ( )
async def on_guild_join ( self , guild ) :
setConfig ( guild )
2021-07-16 23:53:31 +01:00
status , output = checkConfig ( guild )
conf = yaml_load ( configFile )
if not status :
2021-07-27 11:51:02 +01:00
await guild . get_channel ( conf [ str ( guild . id ) ] [ ' channels ' ] [ ' mod ' ] ) . send ( f " ```The Bot ' s configurations are incomplete for the guild ` { guild . name } `. Some limited functions will still be available, but most features cannot be used until the configurations are complete. \n { parseConfigCheck ( output ) } \n You can set these configuration values using the `/config` command.``` " )
2021-07-15 22:54:09 +01:00
def setup ( client ) :
client . add_cog ( on_guild_join ( client ) )