2023-04-25 20:06:08 +00:00
|
|
|
// @ts-check
|
|
|
|
|
2023-05-04 20:25:00 +00:00
|
|
|
const sqlite = require("better-sqlite3")
|
2023-09-30 12:24:05 +00:00
|
|
|
const migrate = require("./db/migrate")
|
2023-03-05 16:05:35 +00:00
|
|
|
const HeatSync = require("heatsync")
|
2022-12-07 00:10:31 +00:00
|
|
|
|
|
|
|
const config = require("./config")
|
2023-03-05 16:05:35 +00:00
|
|
|
const passthrough = require("./passthrough")
|
2023-05-04 20:25:00 +00:00
|
|
|
const db = new sqlite("db/ooye.db")
|
2023-03-05 16:05:35 +00:00
|
|
|
|
2024-08-26 14:17:10 +00:00
|
|
|
/** @type {import("heatsync").default} */ // @ts-ignore
|
2023-03-05 16:05:35 +00:00
|
|
|
const sync = new HeatSync()
|
|
|
|
|
2023-06-28 20:08:17 +00:00
|
|
|
Object.assign(passthrough, {config, sync, db})
|
2023-03-05 16:05:35 +00:00
|
|
|
|
2023-04-25 20:06:08 +00:00
|
|
|
const DiscordClient = require("./d2m/discord-client")
|
2022-12-07 00:10:31 +00:00
|
|
|
|
2023-09-03 13:38:30 +00:00
|
|
|
const discord = new DiscordClient(config.discordToken, "full")
|
2023-03-05 16:05:35 +00:00
|
|
|
passthrough.discord = discord
|
|
|
|
|
2024-08-03 10:46:09 +00:00
|
|
|
const {as} = require("./matrix/appservice")
|
2023-06-28 20:08:17 +00:00
|
|
|
passthrough.as = as
|
|
|
|
|
2023-09-14 00:32:27 +00:00
|
|
|
const orm = sync.require("./db/orm")
|
|
|
|
passthrough.from = orm.from
|
|
|
|
passthrough.select = orm.select
|
|
|
|
|
2023-06-28 20:08:17 +00:00
|
|
|
sync.require("./m2d/event-dispatcher")
|
|
|
|
|
2023-07-04 20:41:15 +00:00
|
|
|
discord.snow.requestHandler.on("requestError", data => {
|
|
|
|
console.error("request error", data)
|
|
|
|
})
|
|
|
|
|
2023-03-05 16:05:35 +00:00
|
|
|
;(async () => {
|
2023-09-30 12:24:05 +00:00
|
|
|
await migrate.migrate(db)
|
2023-03-05 16:05:35 +00:00
|
|
|
await discord.cloud.connect()
|
|
|
|
console.log("Discord gateway started")
|
2024-08-25 13:34:46 +00:00
|
|
|
require("./matrix/power.js")
|
2023-03-05 16:05:35 +00:00
|
|
|
|
|
|
|
require("./stdin")
|
|
|
|
})()
|