97 lines
2.4 KiB
Python
97 lines
2.4 KiB
Python
|
#!/usr/bin/env python3.12
|
||
|
# pylint: disable=bare-except, invalid-name, import-outside-toplevel
|
||
|
|
||
|
import os
|
||
|
import logging
|
||
|
import importlib
|
||
|
import discord
|
||
|
import setproctitle
|
||
|
import hypercorn
|
||
|
import hypercorn.asyncio
|
||
|
from dotenv import load_dotenv
|
||
|
from discord.ext import bridge, commands
|
||
|
from termcolor import colored
|
||
|
import api
|
||
|
|
||
|
logging.basicConfig(level=logging.INFO,
|
||
|
format='%(asctime)s %(message)s',
|
||
|
encoding='utf-8')
|
||
|
setproctitle.setproctitle('disc-havoc')
|
||
|
|
||
|
owners = [1172340700663255091, 992437729927376996]
|
||
|
BOT_CHANIDS = [
|
||
|
1145182936442875997,
|
||
|
1157535700774834236,
|
||
|
1156710277266542624,
|
||
|
1179232748385341530,
|
||
|
1219638300654964807,
|
||
|
1193632849740439665,
|
||
|
1202288798315335831,
|
||
|
1157529874936909934,
|
||
|
1272333206066167959,
|
||
|
1228740577068322839,
|
||
|
1228740577068322841,
|
||
|
1324142398741151784,
|
||
|
]
|
||
|
|
||
|
cogs_list = [
|
||
|
'misc',
|
||
|
'owner',
|
||
|
'sing',
|
||
|
'meme',
|
||
|
'ai',
|
||
|
'karma',
|
||
|
'lovehate',
|
||
|
'quote',
|
||
|
'radio',
|
||
|
]
|
||
|
|
||
|
bot_activity = discord.CustomActivity(name="I made cookies!")
|
||
|
|
||
|
load_dotenv()
|
||
|
|
||
|
intents = discord.Intents.all()
|
||
|
intents.message_content = True
|
||
|
bot = bridge.Bot(command_prefix=".", intents=intents,
|
||
|
owner_ids=owners, activity=bot_activity,
|
||
|
help_command=commands.MinimalHelpCommand())
|
||
|
|
||
|
|
||
|
@bot.event
|
||
|
async def on_ready():
|
||
|
"""Run on Bot Ready"""
|
||
|
logging.info("%s online!", bot.user)
|
||
|
|
||
|
def load_exts(initialRun=True):
|
||
|
"""Load Cogs/Extensions"""
|
||
|
load_method = bot.load_extension if initialRun else bot.reload_extension
|
||
|
|
||
|
for cog in cogs_list:
|
||
|
logging.info("Loading: %s", cog)
|
||
|
load_method(f'cogs.{cog}')
|
||
|
|
||
|
# asyncio.get_event_loop().create_task(bot.sync_commands())
|
||
|
|
||
|
importlib.reload(api)
|
||
|
from api import API # pylint: disable=unused-import
|
||
|
api_config = hypercorn.config.Config()
|
||
|
api_config.bind = "10.10.10.100:5992"
|
||
|
api_instance = api.API(bot)
|
||
|
try:
|
||
|
bot.fapi_task.cancel()
|
||
|
except:
|
||
|
pass
|
||
|
|
||
|
logging.info("Starting FAPI Task")
|
||
|
|
||
|
bot.fapi_task = bot.loop.create_task(hypercorn.asyncio.serve(api_instance.api_app, api_config))
|
||
|
|
||
|
def __init__():
|
||
|
logging.info(colored(f"Log level: {logging.getLevelName(logging.root.level)}", "red", attrs=['reverse']))
|
||
|
bot.BOT_CHANIDS = BOT_CHANIDS
|
||
|
bot.load_exts = load_exts
|
||
|
bot.load_exts()
|
||
|
bot.run(os.getenv('TOKEN'))
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
__init__()
|