jellyfin-discord-bot/server/configuration.ts

64 lines
1.6 KiB
TypeScript

import dotenv from "dotenv"
import { AddListingProviderRequestToJSON } from "./jellyfin"
dotenv.config()
interface options {
[k: string]: boolean | number | string | undefined
}
interface bodyParserOptions {
urlEncodedOptions: options,
jsonOptions: options
}
export interface Config {
server: { bodyParser: bodyParserOptions },
bot: {
debug: boolean
silent: boolean
token: string
guild_id: string
client_id: string
jellfin_token: string
jellyfin_url: string
port: number
workaround_token: string
watcher_role: string
jf_admin_role: string
announcement_channel_id: string
jf_collection_id: string
}
}
export const config: Config = {
server: {
bodyParser: {
urlEncodedOptions: {
inflate: true,
limit: '5mb',
type: 'application/x-www-form-urlencoded',
extended: true,
parameterLimit: 1000
},
jsonOptions: {
inflate: true,
limit: '5mb',
type: 'application/json',
strict: true
}
}
},
bot: {
debug: true,
silent: false,
port: 1234,
token: process.env.BOT_TOKEN ?? "",
guild_id: process.env.GUILD_ID ?? "",
client_id: process.env.CLIENT_ID ?? "",
jellfin_token: process.env.JELLYFIN_TOKEN ?? "",
jellyfin_url: process.env.JELLYFIN_URL ?? "",
workaround_token: process.env.TOKEN ?? "",
watcher_role: process.env.WATCHER_ROLE ?? "",
jf_admin_role: process.env.ADMIN_ROLE ?? "",
announcement_channel_id: process.env.CHANNEL_ID ?? "",
jf_collection_id: process.env.JELLYFIN_COLLECTION_ID ?? ""
}
}