import asyncio from os import getenv import util from sources.ch4 import Chan4 from sources.dis import DiscordClient from sources.ingest import Ingest # For development # if not getenv("DISCORD_TOKEN", None): # print("Could not get Discord token, attempting load from .env") # from dotenv import load_dotenv # load_dotenv() log = util.get_logger("monolith") modules_enabled = getenv("MODULES_ENABLED", False) token = getenv("DISCORD_TOKEN", None) if not token: raise Exception("No Discord token provided") async def main(loop): log.info("Starting Discord handler.") client = DiscordClient() loop.create_task(client.start(token)) # client.run(token) log.info("Starting 4chan handler.") chan = Chan4() loop.create_task(chan.run()) log.info("Starting ingest handler.") ingest = Ingest() loop.create_task(ingest.run()) loop = asyncio.get_event_loop() loop.create_task(main(loop)) # reactor.run() try: loop.run_forever() except KeyboardInterrupt: log.info("Process terminating") finally: loop.close()