mirror of
https://github.com/LBRYFoundation/lbry-wunderbot.git
synced 2025-08-23 17:47:27 +00:00
Merge pull request #259 from felhe/master
Support Android/Desktop option for release notes
This commit is contained in:
commit
c3a37cc766
1 changed files with 47 additions and 103 deletions
|
@ -9,42 +9,48 @@ exports.commands = [
|
||||||
];
|
];
|
||||||
|
|
||||||
exports.releasenotes = {
|
exports.releasenotes = {
|
||||||
usage: '',
|
usage: '<desktop/android>',
|
||||||
description: 'gets current release notes from GITHUB',
|
description: 'gets current release notes from GitHub, for either Desktop or Android',
|
||||||
process: function(bot, msg, suffix) {
|
process: function(bot, msg, suffix) {
|
||||||
|
let releaseType = suffix.toLowerCase();
|
||||||
|
let releaseTypeName = releaseType.charAt(0).toUpperCase() + releaseType.slice(1);
|
||||||
|
if (releaseType !== 'android' && releaseType !== 'desktop') {
|
||||||
|
msg.reply('Please specify which release notes to display: "desktop" or "android".');
|
||||||
|
return;
|
||||||
|
}
|
||||||
const headers = {
|
const headers = {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
'User-Agent': 'Super Agent/0.0.1'
|
'User-Agent': 'Super Agent/0.0.1'
|
||||||
};
|
};
|
||||||
// Configure the request
|
// Configure the request
|
||||||
const options = {
|
const options = {
|
||||||
url: 'https://api.github.com/repos/lbryio/lbry-desktop/releases/latest',
|
url: 'https://api.github.com/repos/lbryio/lbry-' + releaseType + '/releases/latest',
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
headers: headers
|
headers: headers
|
||||||
};
|
};
|
||||||
|
|
||||||
// Start the request
|
// Start the request
|
||||||
let message;
|
let message;
|
||||||
request(options, function(error, response, body) {
|
request(options, function(error, response, body) {
|
||||||
let releasemessage = JSON.parse(body).body;
|
let json = JSON.parse(body);
|
||||||
let releasename = JSON.parse(body).name;
|
let releasemessage = json.body;
|
||||||
let releasedate = JSON.parse(body).published_at;
|
let releasename = json.name || json.tag_name;
|
||||||
let releaseurl = JSON.parse(body).html_url;
|
let releasedate = json.published_at;
|
||||||
|
let releaseurl = json.html_url;
|
||||||
if (releasemessage.length < 2000) {
|
if (releasemessage.length < 2000) {
|
||||||
message = {
|
message = {
|
||||||
embed: {
|
embed: {
|
||||||
title: '*Download ' + releasename + ' here!*',
|
title: '*Download ' + releasename + ' here!*',
|
||||||
description: releasemessage,
|
description: releasemessage.replace('###', ''),
|
||||||
url: releaseurl,
|
url: releaseurl,
|
||||||
color: 7976557,
|
color: 7976557,
|
||||||
timestamp: releasedate,
|
timestamp: releasedate,
|
||||||
author: {
|
author: {
|
||||||
name: 'LBRY Desktop release Notes for ' + releasename,
|
name: 'LBRY ' + releaseTypeName + ' release notes for ' + releasename,
|
||||||
icon_url: 'https://spee.ch/b/Github-PNG-Image.png'
|
icon_url: 'https://spee.ch/b/Github-PNG-Image.png'
|
||||||
},
|
},
|
||||||
footer: {
|
footer: {
|
||||||
icon_url: 'https://spee.ch/2/pinkylbryheart.png',
|
icon_url: 'https://spee.ch/2/pinkylbryheart.png',
|
||||||
text: 'LBRY Desktop Updated '
|
text: 'LBRY ' + releaseTypeName + ' updated '
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -65,105 +71,43 @@ exports.releasenotes = {
|
||||||
.filter(function(n) {
|
.filter(function(n) {
|
||||||
return n !== '';
|
return n !== '';
|
||||||
});
|
});
|
||||||
let releasemessage1 = message[0];
|
let embedmessages = [];
|
||||||
let releasemessage2 = message[1];
|
for (let i = 0; i < message.length; i++) {
|
||||||
let releasemessage3 = message[2];
|
if (message[i]) {
|
||||||
let releasemessage4 = message[3];
|
embedmessages.push({
|
||||||
let releasemessage5 = message[4];
|
embed: {
|
||||||
let message1 = {
|
description: message[i],
|
||||||
embed: {
|
url: releaseurl,
|
||||||
title: '*Download ' + releasename + ' here!*',
|
color: 7976557,
|
||||||
description: releasemessage1,
|
timestamp: releasedate,
|
||||||
url: releaseurl,
|
author: {
|
||||||
color: 7976557,
|
name: 'LBRY ' + releaseTypeName + ' release notes for ' + releasename,
|
||||||
timestamp: releasedate,
|
icon_url: 'https://spee.ch/b/Github-PNG-Image.png'
|
||||||
author: {
|
},
|
||||||
name: 'LBRY Desktop Release Notes for ' + releasename,
|
footer: {
|
||||||
icon_url: 'https://spee.ch/b/Github-PNG-Image.png'
|
icon_url: 'https://spee.ch/2/pinkylbryheart.png',
|
||||||
},
|
text: 'LBRY ' + releaseTypeName + ' updated '
|
||||||
footer: {
|
}
|
||||||
icon_url: 'https://spee.ch/2/pinkylbryheart.png',
|
}
|
||||||
text: 'LBRY Desktop Updated '
|
});
|
||||||
}
|
if (i === 0) embedmessages[i].embed.title = '*Download ' + releasename + ' here!*';
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
let message2 = {
|
|
||||||
embed: {
|
|
||||||
description: releasemessage2,
|
|
||||||
color: 7976557,
|
|
||||||
timestamp: releasedate,
|
|
||||||
author: {
|
|
||||||
icon_url: 'https://spee.ch/b/Github-PNG-Image.png'
|
|
||||||
},
|
|
||||||
footer: {
|
|
||||||
icon_url: 'https://spee.ch/2/pinkylbryheart.png',
|
|
||||||
text: 'LBRY Desktop Updated '
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let message3 = {
|
|
||||||
embed: {
|
|
||||||
description: releasemessage3,
|
|
||||||
color: 7976557,
|
|
||||||
timestamp: releasedate,
|
|
||||||
author: {
|
|
||||||
icon_url: 'https://spee.ch/b/Github-PNG-Image.png'
|
|
||||||
},
|
|
||||||
footer: {
|
|
||||||
icon_url: 'https://spee.ch/2/pinkylbryheart.png',
|
|
||||||
text: 'LBRY Desktop Updated '
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let message4 = {
|
|
||||||
embed: {
|
|
||||||
description: releasemessage4,
|
|
||||||
color: 7976557,
|
|
||||||
timestamp: releasedate,
|
|
||||||
author: {
|
|
||||||
icon_url: 'https://spee.ch/b/Github-PNG-Image.png'
|
|
||||||
},
|
|
||||||
footer: {
|
|
||||||
icon_url: 'https://spee.ch/2/pinkylbryheart.png',
|
|
||||||
text: 'LBRY Desktop Updated '
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
let message5 = {
|
|
||||||
embed: {
|
|
||||||
description: releasemessage5,
|
|
||||||
color: 7976557,
|
|
||||||
timestamp: releasedate,
|
|
||||||
author: {
|
|
||||||
icon_url: 'http://www.pngall.com/wp-content/uploads/2016/04/Github-PNG-Image.png'
|
|
||||||
},
|
|
||||||
footer: {
|
|
||||||
icon_url: 'https://spee.ch/2/pinkylbryheart.png',
|
|
||||||
text: 'LBRY Desktop Updated '
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
if (inPrivate(msg)) {
|
if (inPrivate(msg)) {
|
||||||
msg.channel.send(message1);
|
for (let i = 0; i < embedmessages.length; i++) {
|
||||||
msg.channel.send(message2);
|
msg.channel.send(embedmessages[i]);
|
||||||
msg.channel.send(message3);
|
}
|
||||||
msg.channel.send(message4);
|
|
||||||
msg.channel.send(message5);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (hasPerms(msg) && suffix === 'post') {
|
if (hasPerms(msg) && suffix === 'post') {
|
||||||
bot.channels.get(ChannelID).send(message1);
|
for (let i = 0; i < embedmessages.length; i++) {
|
||||||
bot.channels.get(ChannelID).send(message2);
|
bot.channels.get(ChannelID).send(embedmessages[i]);
|
||||||
bot.channels.get(ChannelID).send(message3);
|
}
|
||||||
bot.channels.get(ChannelID).send(message4);
|
|
||||||
bot.channels.get(ChannelID).send(message5);
|
|
||||||
} else {
|
} else {
|
||||||
msg.channel.send(msg.author + ' Release notes sent via DM');
|
msg.channel.send(msg.author + ' Release notes sent via DM');
|
||||||
msg.author.send(message1);
|
for (let i = 0; i < embedmessages.length; i++) {
|
||||||
msg.author.send(message2);
|
msg.author.send(embedmessages[i]);
|
||||||
msg.author.send(message3);
|
}
|
||||||
msg.author.send(message4);
|
|
||||||
msg.author.send(message5);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Reference in a new issue