ffxiv-wiki-scripts/lib/config.js
2025-08-20 00:02:44 -06:00

23 lines
957 B
JavaScript

import {MediaWikiClient} from './api/mediawiki.js';
/**
* Creates a mediawiki client with config pulled from environment variables.
* @param {object} options
* @param {stromg} [options.unattended] If provided, the page specified by the
* `MW_KILLPAGE` environment variable will be checked periodically, and the
* script will be killed if the page contains text. This is a safety measure
* allowing other editors to kill an unattended script if it misbehaves.
* @returns {Promise<MediaWikiClient>}
*/
export async function getMediawikiClient () {
if (!process.env.MW_USERNAME || !process.env.MW_PASSWORD) {
throw new Error('Environment variables `MW_USERNAME` and `MW_PASSWORD` are required.');
}
// Log into our wiki client
const mw = new MediaWikiClient('https://ffxiv.consolegameswiki.com/mediawiki', {
killPage: process.env.MW_KILLPAGE || undefined,
});
await mw.login(process.env.MW_USERNAME, process.env.MW_PASSWORD);
return mw;
}