Skip to content

Commit

Permalink
use requestid for api cachebreak
Browse files Browse the repository at this point in the history
  • Loading branch information
Markus-Rost committed Aug 5, 2024
1 parent ac40444 commit 19f62dc
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
3 changes: 2 additions & 1 deletion cmds/wiki/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -568,12 +568,13 @@ export default function mw_user(lang, msg, namespace, username, wiki, querystrin
discord = escapeFormatting(pbody.userData.discordHandle.trim().toLowerCase().replace( /^@?([a-z0-9_.]{2,32})(?:\s*#0)?$/, '$1' ));
if ( discord.length > 100 ) discord = discord.substring(0, 100) + '\u2026';
}
if ( wiki.isGamepedia() ) return got.get( wiki + 'api.php?action=profile&do=getPublicProfile&user_name=' + encodeURIComponent( username ) + '&format=json&cache=' + Date.now(), {
if ( wiki.isGamepedia() ) return got.get( wiki + 'api.php?action=profile&do=getPublicProfile&user_name=' + encodeURIComponent( username ) + '&format=json&requestid=cachebreak-' + Date.now(), {
context: {
guildId: msg.guildId
}
} ).then( cpresponse => {
var cpbody = cpresponse.body;
if ( cpbody?.warnings ) log_warning(cpbody.warnings);
if ( cpresponse.statusCode !== 200 || !cpbody || cpbody.error || cpbody.errormsg || !cpbody.profile ) {
console.log( '- ' + cpresponse.statusCode + ': Error while getting the user profile: ' + ( cpbody?.error?.info || cpbody?.errormsg ) );
return;
Expand Down
9 changes: 5 additions & 4 deletions functions/verify.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export default function verify(lang, logLang, channel, member, username, wiki, r
embed: null
}
};
return got.get( wiki + 'api.php?action=query&meta=siteinfo' + ( wiki.wikifarm === 'fandom' ? '|allmessages&siprop=general&ammessages=importJS&list=users|usercontribs&ucprop=&uclimit=10&ucuser=%1F' + encodeURIComponent( username.replaceAll( '\x1F', '\ufffd' ) ) : '&siprop=general&list=users' ) + '&usprop=blockinfo|groups|editcount|registration|gender&ususers=%1F' + encodeURIComponent( username.replaceAll( '\x1F', '\ufffd' ) ) + '&format=json&cache=' + Date.now(), {
return got.get( wiki + 'api.php?action=query&meta=siteinfo' + ( wiki.wikifarm === 'fandom' ? '|allmessages&siprop=general&ammessages=importJS&list=users|usercontribs&ucprop=&uclimit=10&ucuser=%1F' + encodeURIComponent( username.replaceAll( '\x1F', '\ufffd' ) ) : '&siprop=general&list=users' ) + '&usprop=blockinfo|groups|editcount|registration|gender&ususers=%1F' + encodeURIComponent( username.replaceAll( '\x1F', '\ufffd' ) ) + '&format=json&requestid=cachebreak-' + Date.now(), {
context: {
guildId: channel.guildId
}
Expand Down Expand Up @@ -184,12 +184,13 @@ export default function verify(lang, logLang, channel, member, username, wiki, r
discordname = escapeFormatting(ucbody.userData.discordHandle.trim().toLowerCase().replace( /^@?([a-z0-9_.]{2,32})(?:\s*#0)?$/, '$1' ));
}

if ( wiki.isGamepedia() || !discordname ) return got.get( ( wiki.isGamepedia() ? wiki : 'https://help.fandom.com/' ) + 'api.php?action=profile&do=getPublicProfile&user_name=' + encodeURIComponent( username ) + '&format=json&cache=' + Date.now(), {
if ( wiki.isGamepedia() || !discordname ) return got.get( ( wiki.isGamepedia() ? wiki : 'https://help.fandom.com/' ) + 'api.php?action=profile&do=getPublicProfile&user_name=' + encodeURIComponent( username ) + '&format=json&requestid=cachebreak-' + Date.now(), {
context: {
guildId: channel.guildId
}
} ).then( presponse => {
var pbody = presponse.body;
if ( pbody?.warnings ) log_warning(pbody.warnings);
if ( presponse.statusCode !== 200 || !pbody || pbody.error || pbody.errormsg || !pbody.profile ) {
if ( !wiki.isGamepedia() ) return;
console.log( '- ' + presponse.statusCode + ': Error while getting the Discord tag: ' + ( pbody?.error?.info || pbody?.errormsg ) );
Expand Down Expand Up @@ -443,7 +444,7 @@ export default function verify(lang, logLang, channel, member, username, wiki, r
result.add_button = false;
} );

return got.get( wiki + 'api.php?action=query' + ( wiki.hasCentralAuth() ? '&meta=globaluserinfo&guiprop=groups&guiuser=' + encodeURIComponent( username ) : '' ) + '&prop=revisions&rvprop=content|user&rvslots=main&titles=%1FUser:' + encodeURIComponent( username.replaceAll( '\x1F', '\ufffd' ) ) + '/Discord%1FSpecial:MyPage/Discord&format=json&cache=' + Date.now(), {
return got.get( wiki + 'api.php?action=query' + ( wiki.hasCentralAuth() ? '&meta=globaluserinfo&guiprop=groups&guiuser=' + encodeURIComponent( username ) : '' ) + '&prop=revisions&rvprop=content|user&rvslots=main&titles=%1FUser:' + encodeURIComponent( username.replaceAll( '\x1F', '\ufffd' ) ) + '/Discord%1FSpecial:MyPage/Discord&format=json&requestid=cachebreak-' + Date.now(), {
context: {
guildId: channel.guildId
}
Expand Down Expand Up @@ -754,7 +755,7 @@ globalThis.verifyOauthUser = function(state, access_token, settings) {
var useLogging = ( verifynotice.logchannel ? true : false );
var logLang = lang;
if ( !state && (verifynotice.flags & 1 << 0) === 1 << 0 ) lang = lang.uselang(settings?.interaction?.locale);
got.get( wiki + 'api.php?action=query&meta=siteinfo' + ( wiki.hasCentralAuth() ? '|globaluserinfo&guiprop=groups&guiuser=' + encodeURIComponent( username ) : '' ) + '&siprop=general&list=users&usprop=blockinfo|groups|editcount|registration|gender&ususers=%1F' + encodeURIComponent( username.replaceAll( '\x1F', '\ufffd' ) ) + '&format=json&cache=' + Date.now(), {
got.get( wiki + 'api.php?action=query&meta=siteinfo' + ( wiki.hasCentralAuth() ? '|globaluserinfo&guiprop=groups&guiuser=' + encodeURIComponent( username ) : '' ) + '&siprop=general&list=users&usprop=blockinfo|groups|editcount|registration|gender&ususers=%1F' + encodeURIComponent( username.replaceAll( '\x1F', '\ufffd' ) ) + '&format=json&requestid=cachebreak-' + Date.now(), {
context: {
guildId: channel.guildId
}
Expand Down

0 comments on commit 19f62dc

Please sign in to comment.