Files
aquabot/aquabot.py
CramMK a653476e9c General development process
- new cog commands
- new voice cog
- new requirements.txt
- adjusted readme
- added Dockerfile for faster deployment (still WIP)
- other general things
2020-01-23 15:57:30 +00:00

87 lines
2.2 KiB
Python

"""
AquaBot created by Marc.
This project uses discordpy:
https://discordpy.readthedocs.io/en/latest/intro.html
"""
# IMPORTS - external
import discord
from discord.ext import commands
import logging
# IMPORTS - internal
import loadconfig
# LOGGING
logger = logging.getLogger("discord")
# https://docs.python.org/3/library/logging.html#levels
logger.setlevel(logging.INFO)
handler = logging.FileHandler(
filename="discord_%(asctime)s.log",
encoding="utf-8",
mode="w"
)
handler.setFormatter(
logging.Formatter("%(asctime)s:%(levelname)s:%(name)s: %(message)s")
)
logger.addHandler(handler)
# SOME DATA THAT CAN BE USED LATER
metadata = {
"name": f"{bot.user.name} - {bot.user.id}",
"admin": f"{self.bot.AppInfo.owner}",
"prefix": f"{loadconfig.__token__}",
"discordpy_version": f"{discord.__version__}",
"python_version": f"{platform.python_version}",
"os": f"{platform.system()} {platform.release()} {platform.version()}"
}
# INIT THE BOT
bot = commands.Bot(
command_prefix=loadconfig.__prefix__,
description="Holy Goddess Aqua!"
)
# LOAD COGS SPECIFIED IN 'config/cogs.py'
for cog in loadconfig.__cogs__:
try:
bot.load_extension(cog)
except Exception as e:
print(f"ERROR: {type(e).__name__} - {e}")
else:
print(f"SUCCESS: Loaded {cog}")
# BOT STARTING EVENT
@bot.event
async def on_ready():
"""
This prints some information about the bot, while starting up
Inspired by:
https://gist.github.com/EvieePy/d78c061a4798ae81be9825468fe146be
"""
startup = f"""
Bot Name: {metadata["name"]}\n
Admin: {metadata["admin"]}\n
Command Prefix: {metadata["prefix"]}\n
discord.py Version: {metadata["discordpy_version"]}\n
python Version: {metadata["python_version"]}\n
OS: {metadata["os"]}\n
"""
print(startup)
status = f"Hentai | {loadconfig.__prefix__}aquabot"
activity = discord.Activity(name=status, type=discord.ActivityType.watching)
await bot.change_presence(activity=activity)
print(f"AquaBot is ready!\n")
# START BOT
bot.run(
loadconfig.__token__,
bot=True,
reconnect=True
)