User:Theleekycauldron/Scripts/PSHAW/dependencies/Hook.js: Difference between revisions
Content deleted Content added
update |
def capitalize |
||
(36 intermediate revisions by the same user not shown) | |||
Line 12:
copies or substantial portions of the Software.
*/
function capitalize(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
class Hook {
constructor(id,content,credits){
Line 19 ⟶ 20:
this.content = content;
this.articles = []
for (let m of this.content.matchAll(/'''[^']*?\[\[(
this.articles.push(
}
this.credits = credits
Line 26 ⟶ 27:
morebits(){
let t = this.content
while (t.includes("\'\'\'")){
t = t.replace(/'''/,"<b>");
Line 36 ⟶ 37:
}
return "<b>"+this.id+"</b>: "+t.slice()
}
async subpage(){ //returns as Nomination object
if (this.credits.length>0){
let nomination = await Nomination.create(`Template:Did you know nominations/${this.credits[0].subpage}`);
return nomination;
▲ }
return null
}
give_credit(credit){
let res;
console.log(credit)
if (credit.make){
res = `{{subst:Template:DYKmake/DYKmakecredit
|article=${credit.article}
|optional=
|nompage=Template:Did you know nominations/${credit.subpage}
|hook=${this.content}
}} ~~~~`
} else {
res = `{{subst:DYKnom/DYKnomcredit
|article=${credit.article}
|optional=
|nompage=Template:Did you know nominations/${credit.subpage}
}} ~~~~`
}
var params = {
action: 'edit',
title: `User talk:${credit.user}`,
summary: `Giving credit for ${credit.article}`+tag,
section: 'new',
sectiontitle: `DYK for ${credit.article}`,
text: res,
format: 'json'
}
return api.postWithToken( 'csrf', params );
}
tag_talk(article,file){
let res;
let today = new Date()
today = `${today.getUTCDate()} ${["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][today.getUTCMonth()]} ${today.getUTCFullYear()}`
res = `{{DYK talk|${today}|entry=${this.content}|${file}}}`
get_section(`Talk:${article}`,0).then((talk) => {
console.log(talk)
let talktext = talk.wikitext + `\n${res}`
console.log(talktext)
var params = {
action: 'edit',
title: `Talk:${article}`,
summary: `Article appeared on [[WP:DYK|DYK]] on ${today}, adding {{[[Template:DYK talk|DYK talk]]}}`+tag,
section: '0',
text: talktext,
format: 'json'
}
return api.postWithToken( 'csrf', params );
})
}
}
|