aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-04 14:38:15 +0100
committerMinteck <contact@minteck.org>2022-02-04 14:38:15 +0100
commit094b326d5ddaf338a7bc1a5d1210cae958cba814 (patch)
treeb6006c3970fe4c356e9904705ada735a3b53378f
parente0abea610fe00b4c482db5fa8fa0ce26c5d8e64a (diff)
downloadponyfind-094b326d5ddaf338a7bc1a5d1210cae958cba814.tar.gz
ponyfind-094b326d5ddaf338a7bc1a5d1210cae958cba814.tar.bz2
ponyfind-094b326d5ddaf338a7bc1a5d1210cae958cba814.zip
Version 1.0 (release)
-rw-r--r--commands/pony.js94
-rw-r--r--config/version.txt2
-rw-r--r--update/parse.js2
3 files changed, 75 insertions, 23 deletions
diff --git a/commands/pony.js b/commands/pony.js
index c386107..f15e732 100644
--- a/commands/pony.js
+++ b/commands/pony.js
@@ -16,36 +16,88 @@ module.exports = async (interaction) => {
result = getResult(query);
if (result.results.length > 0 && getEmbed(result.results[0], interaction.user.id, interaction.guild ? interaction.guild.id : 0) !== false) {
- await interaction.reply({
- ephemeral: interaction.guild !== null,
- embeds: [
- new MessageEmbed()
- .setColor('#d6dc28')
- .setTitle(l("Results for", "Résultats pour", interaction.user.id, interaction.guild ? interaction.guild.id : 0) + " \"" + query + "\"")
- .setDescription(l("Here are the 3 first results corresponding to your query.", "Voici les 3 premiers résultats correspondants à votre recherche.", interaction.user.id, interaction.guild ? interaction.guild.id : 0))
- ],
- components: [
- new MessageActionRow()
+ if (result.results[0].toLowerCase().trim() === query.toLowerCase().trim()) {
+ keys = [null, result.results[0]];
+ if (interaction.guild) {
+ row = new MessageActionRow()
.addComponents(
new MessageButton()
- .setCustomId("pony.display|" + result.first[0])
- .setLabel(result.first[0])
+ .setCustomId("pony.public|" + keys[1])
+ .setLabel(l("Show to everypony", "Afficher à tous", interaction.user.id, interaction.guild ? interaction.guild.id : 0))
.setStyle("PRIMARY"),
new MessageButton()
- .setCustomId("pony.display|" + result.first[1])
- .setLabel(result.first[1])
- .setStyle("PRIMARY"),
+ .setLabel(l("Read More", "Lire plus", interaction.user.id, interaction.guild ? interaction.guild.id : 0))
+ .setStyle("LINK")
+ .setURL("https://mlp.fandom.com/wiki/" + encodeURI(keys[1])),
new MessageButton()
- .setCustomId("pony.display|" + result.first[2])
- .setLabel(result.first[2])
- .setStyle("PRIMARY"),
+ .setCustomId("pony.pixel|" + keys[1])
+ .setLabel("Pixel Art")
+ .setDisabled(!fs.existsSync("./pixel/" + keys[1].toLowerCase()))
+ .setStyle("SECONDARY"),
new MessageButton()
- .setCustomId("result.report|" + query)
+ .setCustomId("result.report|" + keys[1])
.setLabel(l("Report an issue", "Signaler un problème", interaction.user.id, interaction.guild ? interaction.guild.id : 0))
.setStyle("DANGER")
)
- ]
- });
+ } else {
+ row = new MessageActionRow()
+ .addComponents(
+ new MessageButton()
+ .setLabel(l("Read More", "Lire plus", interaction.user.id, interaction.guild ? interaction.guild.id : 0))
+ .setStyle("LINK")
+ .setURL("https://mlp.fandom.com/wiki/" + encodeURI(keys[1])),
+ new MessageButton()
+ .setCustomId("pony.pixel|" + keys[1])
+ .setLabel("Pixel Art")
+ .setDisabled(!fs.existsSync("./pixel/" + keys[1].toLowerCase()))
+ .setStyle("SECONDARY"),
+ new MessageButton()
+ .setCustomId("result.report|" + keys[1])
+ .setLabel(l("Report an issue", "Signaler un problème", interaction.user.id, interaction.guild ? interaction.guild.id : 0))
+ .setStyle("DANGER")
+ )
+ }
+ await interaction.reply({
+ ephemeral: interaction.guild !== null,
+ embeds: [
+ getEmbed(keys[1], interaction.user.id, interaction.guild ? interaction.guild.id : 0, false, interaction.user)
+ ],
+ components: [
+ row
+ ]
+ });
+ } else {
+ await interaction.reply({
+ ephemeral: interaction.guild !== null,
+ embeds: [
+ new MessageEmbed()
+ .setColor('#d6dc28')
+ .setTitle(l("Results for", "Résultats pour", interaction.user.id, interaction.guild ? interaction.guild.id : 0) + " \"" + query + "\"")
+ .setDescription(l("Here are the 3 first results corresponding to your query.", "Voici les 3 premiers résultats correspondants à votre recherche.", interaction.user.id, interaction.guild ? interaction.guild.id : 0))
+ ],
+ components: [
+ new MessageActionRow()
+ .addComponents(
+ new MessageButton()
+ .setCustomId("pony.display|" + result.first[0])
+ .setLabel(result.first[0])
+ .setStyle("PRIMARY"),
+ new MessageButton()
+ .setCustomId("pony.display|" + result.first[1])
+ .setLabel(result.first[1])
+ .setStyle("PRIMARY"),
+ new MessageButton()
+ .setCustomId("pony.display|" + result.first[2])
+ .setLabel(result.first[2])
+ .setStyle("PRIMARY"),
+ new MessageButton()
+ .setCustomId("result.report|" + query)
+ .setLabel(l("Report an issue", "Signaler un problème", interaction.user.id, interaction.guild ? interaction.guild.id : 0))
+ .setStyle("DANGER")
+ )
+ ]
+ });
+ }
} else {
await interaction.reply({
ephemeral: interaction.guild !== null,
diff --git a/config/version.txt b/config/version.txt
index 7717884..3f11ef6 100644
--- a/config/version.txt
+++ b/config/version.txt
@@ -1 +1 @@
-1.0.26 \ No newline at end of file
+1.0.27 \ No newline at end of file
diff --git a/update/parse.js b/update/parse.js
index 5be5ae5..0b2baa9 100644
--- a/update/parse.js
+++ b/update/parse.js
@@ -74,7 +74,7 @@ let ponies = {};
box.residence/*.replace(/\[\[(.*)_(.*)\]\]|\[\[(.*)\|(.*)\]\]|\[\[(.*)\]\]/gm, "$2$4$5")*/.replace(/<!--[\s\S]*?-->/g, "").trim().replace(/\|/gm, "_").replace(/<( ||(|| )\/)( ||(|| )\/)(b|B)(r|R)( ||(|| )\/)( ||(|| )\/)>/gm, "|").replace(/( \|| \| | \| )/gm, "|").split("|").forEach((e) => {
residences.push(e.trim().replace(/[\[\]]/gm, "").replace(/<(.*)>/gm, "").replace(/([a-zA-Z0-9 \-_,.'"]*)_([a-zA-Z0-9 \-_,.'"]*)/gm, "$2"));
})
- data.residence = residences;
+ data.residence = residences.replaceAll("Locations#", "");
}
if ((typeof box.name2 !== "undefined" || typeof box.name3 !== "undefined" || typeof box.name4 !== "undefined" || typeof box.name5 !== "undefined" || typeof box.coat !== "undefined" || typeof box.occupation !== "undefined" || typeof box.residence !== "undefined") && typeof box.sex !== "undefined") ponies[title] = data;