import {Environment} from "./Environment"; import {DatabaseConnection} from "./Database/DatabaseConnection"; import {DatabaseUpdater} from "./Database/DatabaseUpdater"; import Definitions from "./Database/definitions"; import {Container} from "./Container/Container"; import {ServiceHint, Services} from "./Container/Services"; import {Logger} from "log4js"; import {IconDeployer} from "./Icons/IconDeployer"; import {DiscordClient} from "./Discord/DiscordClient"; import {IconCache} from "./Icons/IconCache"; import {CommandDeployer} from "./Discord/CommandDeployer"; const container = Container.getInstance(); Services.setup(container, ServiceHint.Deploy) const environment = container.get(Environment.name); const logger = container.get("logger"); // Construct and prepare an instance of the REST module const client = container.get(DiscordClient.name); client.connectRESTClient(environment.discord.token) logger.log("Deploying Commands...") const deployer = new CommandDeployer(client, logger); (async () => { await deployer.deployAvailableServers() })() logger.log("Ensuring Database..."); const updater = new DatabaseUpdater(container.get(DatabaseConnection.name)); updater.ensureAvaliablity(Definitions); logger.log("Ensuring icons..."); (async () => { const iconCache = container.get(IconCache.name); await iconCache.populate(); const deployer = new IconDeployer( iconCache ); deployer.ensureExistance() })()