def setup(bot: CTBot): bot.add_cog(Music(bot))
def setup(bot: CTBot): bot.add_cog(Server(bot))
def setup(bot: CTBot): bot.add_cog(Censor(bot))
def setup(bot: CTBot): bot.add_cog(Search(bot))
def setup(bot: CTBot): bot.add_cog(Verify(bot))
def setup(bot: CTBot): bot.add_cog(Coin(bot))
def log(title: str, description: str, level: utils.LogLevel = utils.LogLevel.INFO): print( f"[{datetime.now().strftime('%H:%M:%S')}] [{title}/{level.name}]: {description}", file=sys.stdout if level < utils.LogLevel.ERROR else sys.stderr, ) print( f"[{datetime.now().strftime('%H:%M:%S')}] [{title}/{level.name}]: {description}", file=logfile, ) logfile.flush() bot = CTBot(log_func=log, case_insensitive=True) errors = [] async def status_task(): """Randomly changes status every 15 seconds.""" while True: await asyncio.sleep(15) activity = choice(bot.config["activities"]) await bot.change_presence(activity=discord.Activity( name=activity["name"], type=discord.ActivityType.__getitem__(activity["status"]), )) @bot.event
def setup(bot: CTBot): bot.add_cog(Appeals(bot))
def setup(bot: CTBot): bot.add_cog(Memes(bot))
def setup(bot: CTBot): bot.add_cog(ModCommands(bot))
def setup(bot: CTBot): bot.add_cog(ErrorHandler(bot))
def setup(bot: CTBot): bot.add_cog(Chat(bot))
def setup(bot: CTBot): bot.add_cog(Lockdown(bot))
def setup(bot: CTBot): bot.add_cog(Checks())
def setup(bot: CTBot): bot.add_cog(Dev(bot))