link.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. const check_wiki = {
  2. general: require('./wiki/general.js'),
  3. test: require('./test.js').run
  4. };
  5. const help_setup = require('../functions/helpsetup.js');
  6. const phabricator = require('../functions/phabricator.js');
  7. /**
  8. * Processes the wiki linking command.
  9. * @param {import('../util/i18n.js')} lang - The user language.
  10. * @param {import('discord.js').Message} msg - The Discord message.
  11. * @param {String} title - The page title.
  12. * @param {import('../util/wiki.js')} wiki - The wiki for the page.
  13. * @param {String} [cmd] - The command at this point.
  14. */
  15. function cmd_link(lang, msg, title, wiki, cmd = '') {
  16. if ( msg.isAdmin() && msg.defaultSettings ) help_setup(lang, msg);
  17. if ( /^\|\|(?:(?!\|\|).)+\|\|$/.test(title) ) {
  18. title = title.substring( 2, title.length - 2);
  19. var spoiler = '||';
  20. }
  21. msg.reactEmoji('⏳').then( reaction => {
  22. if ( /^phabricator\.(wikimedia|miraheze)\.org$/.test(wiki.hostname) ) {
  23. return phabricator(lang, msg, wiki, new URL('/' + title, wiki), reaction, spoiler);
  24. }
  25. else check_wiki.general(lang, msg, title, wiki, cmd, reaction, spoiler);
  26. } );
  27. }
  28. module.exports = {
  29. name: 'LINK',
  30. everyone: true,
  31. pause: false,
  32. owner: true,
  33. run: cmd_link
  34. };