Skip to content

Commit

Permalink
Merge pull request #6 from Artivain/unstable
Browse files Browse the repository at this point in the history
🎉 Version 1.3.0
  • Loading branch information
GoudronViande24 authored Dec 21, 2021
2 parents 0675cbc + 2e7e599 commit 071c526
Show file tree
Hide file tree
Showing 8 changed files with 170 additions and 263 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,4 @@ dist

**/private.json
**/config.json
updaterbk
updaterFiles
10 changes: 8 additions & 2 deletions ab-core/events/messageCreate.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { Collection } = require("discord.js");
const { Collection, MessageEmbed } = require("discord.js");
const { prefix, ownerId } = require("../../config.json");
const config = require("../../config.json").params;

Expand Down Expand Up @@ -65,7 +65,13 @@ module.exports = {
// Owner Only Property, add in your command properties if true.

if (command.ownerOnly && message.author.id !== ownerId) {
return message.reply({ content: `Cette commande ne peut être exécutée que par <@${ownerId}>.` });
let embedOwner = new MessageEmbed()
.setColor("RED")
.setFooter(config.botName, config.botIcon)
.setTimestamp()
.setTitle("Aide sur la commande")
.setDescription(`Cette commande ne peut être exécutée que par <@${ownerId}>.`);
return message.reply({ embeds: [embedOwner] });
}

// Guild Only Property, add in your command properties if true.
Expand Down
14 changes: 12 additions & 2 deletions ab-core/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { checkUpdates } = require("./updates");
const { checkUpdates } = require("./updater");

try {
var fs = require("fs");
Expand Down Expand Up @@ -304,4 +304,14 @@ for (const folder of triggerFolders) {
client.login(token);

// Vérifier si une mise à jour existe sur le repo GitHub
checkUpdates();
checkUpdates().then(response => {
if (response.upToDate) {
console.log(`[Updater] Artibot est à jours (v${response.currentVersion})`);
} else {
console.log(
"[Updater] Une mise à jour est disponible pour Artibot!\n" +
`[Updater] - Version actuelle: ${response.currentVersion}\n` +
`[Updater] - Dernière version: ${response.remoteVersion}`
);
};
});
91 changes: 74 additions & 17 deletions ab-core/updater.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,76 @@
const AutoGitUpdate = require('auto-git-update');
const { params } = require("../config.json");

const config = {
repository: 'https://github.com/Artivain/artibot',
tempLocation: '../updaterbk',
branch: "main",
exitOnComplete: true
};

const updater = new AutoGitUpdate(config);

updater.setLogConfig({
logDebug: true,
logDetail: true,
logGeneral: true,
logWarning: true,
logError: true
});
updater.autoUpdate();
// if ran with npm run updater
if (require.main === module) {

if (params.checkForUpdates != "stable" && params.checkForUpdates != "unstable") {
console.error("[Updater] Erreur de configuration");
process.exit(1);
};

const config = {
repository: 'https://github.com/Artivain/artibot',
tempLocation: '../updaterFiles',
exitOnComplete: true,
branch: (params.checkForUpdates == "stable" ? "main" : "unstable")
};

const updater = new AutoGitUpdate(config);

updater.setLogConfig({
logDebug: true,
logDetail: true,
logGeneral: true,
logWarning: true,
logError: true
});
updater.autoUpdate();

} else {

module.exports = {
async checkUpdates() {
if (params.checkForUpdates != "stable" && params.checkForUpdates != "unstable") {
return console.log("[Updater] Vérification des mises à jours désactivée dans la configuration")
}

const config = {
repository: 'https://github.com/Artivain/artibot',
tempLocation: '../../updaterFiles',
exitOnComplete: false,
branch: (params.checkForUpdates == "stable" ? "main" : "unstable")
};

const updater = new AutoGitUpdate(config);

updater.setLogConfig({
logDebug: false,
logDetail: false,
logGeneral: false,
logWarning: true,
logError: true
});

return updater.compareVersions();
},

async doUpdates(options) {
if (params.checkForUpdates != "stable" && params.checkForUpdates != "unstable") {
throw "Erreur de configuration"
};

const autoUpdater = new AutoGitUpdate(options);

autoUpdater.setLogConfig({
logDebug: true,
logDetail: true,
logGeneral: true,
logWarning: true,
logError: true
});
return autoUpdater.autoUpdate();
}
};

};
34 changes: 0 additions & 34 deletions ab-core/updates.js

This file was deleted.

65 changes: 65 additions & 0 deletions ab-modules/commands/core/update.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
const updater = require("../../../ab-core/updater");

module.exports = {
name: "update",
description: "Installe les mises à jour du bot",
ownerOnly: true,

execute(message, args, config) {
// Check if config is valid
if (config.checkForUpdates != "stable" && config.checkForUpdates != "unstable") {
message.reply("Le canal des mises à jour n'est pas défini dans la config!");
return
}

// If the owner really wants to do the update, let's do it
if (args[0] == "force") {
updater.checkUpdates().then(response => {
if (response.upToDate) {
message.reply(`Artibot est déjà à jours (v${response.currentVersion}).`);
return
};

message.reply("Début des mises à jours... Consulter la console pour plus de détails.")

const options = {
repository: 'https://github.com/Artivain/artibot',
tempLocation: '../updaterFiles',
exitOnComplete: false,
branch: (config.checkForUpdates == "stable" ? "main" : "unstable")
};

updater.doUpdates(options)
.then(response => {
if (!response) {
message.reply("Une erreur est survenue pendant la mise à jour. Consulter la console pour plus de détails.");
return
}
message.reply(
"Les mises à jour ont bien été installées.\n" +
"Le bot va maintenant s'éteindre tout seul.\n" +
"Si votre hébergement le supporte, le bot devrait revenir de lui même bientôt."
).then(() => {
process.exit(1);
});
})
.catch(e => {
message.reply("Une erreur est survenue pendant la mise à jour. Consulter la console pour plus de détails.");
console.error("[Updater] Problème avec la mise à jour: " + e);
});
});
} else {
updater.checkUpdates().then(response => {
if (response.upToDate) {
message.reply(`Artibot est à jours (v${response.currentVersion}).`);
} else {
message.reply(
`Une mise à jour est disponible: v${response.currentVersion} --> v${response.remoteVersion}.\n` +
"**Bien lire la documentation avant de faire la mise à jour!**\n" +
"Pour faire la mise à jour, faire la commande `update force`."
);
}
});
};
},
};
Loading

0 comments on commit 071c526

Please sign in to comment.