23 lines
957 B
JavaScript
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;
|
|
}
|