const got = require('got').extend( { headers: { 'User-Agent': 'Wiki-Bot/dashboard (Discord; ' + process.env.npm_package_name + ')' }, responseType: 'json' } ); const {defaultSettings, limit: {rcgcdw: rcgcdwLimit}} = require('../util/default.json'); const {RcGcDw: {names: allLangs}} = require('../i18n/allLangs.json'); const {db, settingsData, sendMsg, createNotice, hasPerm} = require('./util.js'); const fieldset = { channel: '' + '', wiki: '' + '', //+ '' //+ '
' //+ 'Wiki search' //+ '
', lang: '' + '', display: 'Display mode:' + '
' + '' + '' + '
' + '' + '' + '
' + '' + '' + '
' + '' + '' + '
', feeds: '' + '' + '
' + '' + '' + '
', save: '', delete: '' }; /** * Create a settings form * @param {import('cheerio')} $ - The response body * @param {String} header - The form header * @param {Object} settings - The current settings * @param {Boolean} settings.patreon * @param {String} settings.channel * @param {String} settings.wiki * @param {String} settings.lang * @param {Number} settings.display * @param {Number} settings.wikiid * @param {Number} settings.rcid * @param {Object[]} guildChannels - The guild channels * @param {String} guildChannels.id * @param {String} guildChannels.name * @param {Number} guildChannels.permissions */ function createForm($, header, settings, guildChannels) { var readonly = ( process.env.READONLY ? true : false ); var fields = []; let channel = $('
').append(fieldset.channel); channel.find('#wb-settings-channel').append( ...guildChannels.filter( guildChannel => { return ( hasPerm(guildChannel.permissions, 'VIEW_CHANNEL', 'MANAGE_WEBHOOKS') || settings.channel === guildChannel.id ); } ).map( guildChannel => { var optionChannel = $(`