76 lines
2.2 KiB
Python
76 lines
2.2 KiB
Python
import logging
|
|
import sys
|
|
import threading
|
|
|
|
import disnake
|
|
from disnake import OptionChoice, OptionType, Option
|
|
from disnake.ext import commands
|
|
|
|
import lib
|
|
|
|
bot_owner = 386629192743256065
|
|
lib.Commands.check_json()
|
|
intents = disnake.Intents(messages=True, guilds=True, message_content=True)
|
|
intents.members = True
|
|
intents.voice_states = True
|
|
|
|
bot = commands.Bot(command_prefix=lib.Commands.determine_prefix,
|
|
intents=intents,
|
|
status=disnake.Status.idle,
|
|
reload=True,
|
|
test_guilds=[929446191270330410, 987120286933602354])
|
|
|
|
threading.current_thread().name = "main"
|
|
logging.basicConfig(stream=sys.stdout, filemode='w', level='INFO',
|
|
format='%(asctime)s - %(levelname)s - %(threadName)s - %(message)s')
|
|
|
|
|
|
for filename in lib.CogsPrepare.cog_list():
|
|
try:
|
|
bot.load_extension(f'cogs.{filename}')
|
|
logging.info(f'Loaded cog {filename}')
|
|
|
|
except commands.ExtensionNotFound:
|
|
logging.error(f"Error: {filename} couldn't be found to load.")
|
|
|
|
except commands.ExtensionFailed as error:
|
|
logging.error(f'Error: {filename} failed to load properly.', error)
|
|
|
|
except commands.ExtensionError:
|
|
logging.error(f'Error: unknown error with {filename}')
|
|
|
|
|
|
@bot.event
|
|
async def on_ready():
|
|
logging.info(f'Bot started')
|
|
logging.info('We have logged in as {0.user}'.format(bot))
|
|
|
|
|
|
@bot.slash_command(
|
|
name="cog",
|
|
description="Work with cogs",
|
|
options=[
|
|
Option(
|
|
"what_do",
|
|
description="Specify what do with cogs",
|
|
type=OptionType.string,
|
|
required=True,
|
|
choices=[
|
|
OptionChoice("load", "load"),
|
|
OptionChoice("unload", "unload"),
|
|
OptionChoice("reload", "reload")
|
|
]
|
|
)
|
|
]
|
|
)
|
|
async def slash_cogs(inter, what_do):
|
|
if inter.author.id == bot_owner:
|
|
await lib.CogsPrepare.work_with_cogs(what_do, bot)
|
|
await inter.response.send_message(f'Cogs are {what_do}ed', ephemeral=True)
|
|
|
|
else:
|
|
await inter.response.send_message('You`re not bot owner', ephemeral=True)
|
|
|
|
|
|
bot.run('OTQ3OTUzOTAxNzgzNjIxNjYy.GTXbMv.KrztaTO7-ivsPEAVjsyikSQ-GP-ANwULmDraig')
|