diff --git a/commands/gestion/soutien.js b/commands/gestion/soutien.js new file mode 100644 index 0000000..f716d5c --- /dev/null +++ b/commands/gestion/soutien.js @@ -0,0 +1,25 @@ +const sqlite3 = require('sqlite3').verbose(); +const db = new sqlite3.Database('myDatabase.db'); + +module.exports = { + name: 'soutien', + aliases: ['soutiens'], + description: 'régle le message de soutiens a avoir en status', + emote: '📧', + utilisation: 'soutien <@role> ', + category: 'gestion', + + async execute(message, args) { + const guildID = message.member.guild.id; + const roleID = args[0].replace('<@&', '').replace('>', ''); + const messageSoutien = args.slice(1).join(' '); + + db.run(`INSERT OR REPLACE INTO soutiens (guildID, roleID, message) VALUES (?, ?, ?)`, [guildID, roleID, messageSoutien], function(err) { + if (err) { + console.error(err.message); + return; + } + message.channel.send(`Le soutien a été mis à jour avec succès !`); + }); + }, +}; diff --git a/commands/utils/code.js b/commands/utils/code.js new file mode 100644 index 0000000..12776a1 --- /dev/null +++ b/commands/utils/code.js @@ -0,0 +1,56 @@ +const http = require("https"); + +module.exports = { + name: 'code', + aliases: [], + description: 'Génére du code.', + category: 'utils', + emote: '📌', + utilisation: 'code ', + + async execute(message, args) { + const lenguage = args[0] + const prompt = args.slice(1).join(' '); + const options = { + "method": "POST", + "hostname": "api.textcortex.com", + "port": null, + "path": "/v1/codes", + "headers": { + "Content-Type": "application/json", + "Authorization": "Bearer gAAAAABl8hnwXg-FXY1t5PNCTcEGvcN86UaaXycbse_6ZhdlEt_lBbkieBh3QTxjxu5ii1rs--YeoSu-GIh4GwLx2ADp5WtHX867wedEEkYji3kdInL-qgyeayGEODhUQyYd-x8XESZq" + } + }; + + const req = http.request(options, function (res) { + const chunks = []; + + res.on("data", function (chunk) { + chunks.push(chunk); + }); + + res.on("end", function () { + const body = Buffer.concat(chunks); + const response = JSON.parse(body.toString()); + if (response.status === "success") { + const output = response.data.outputs[0].text; + message.reply(`\`\`\`${lenguage}\n${output}\`\`\``); + } else { + console.log("Error: Request failed with API"); + message.reply("Erreur lors de l'execution de l'API.\n le premier parametre est le lengage de pregramation exemple : python, javascript, php, java...") + } + }); + }); + + req.write(JSON.stringify({ + max_tokens: 2048, + mode: lenguage, + model: 'icortex-1', + n: 1, + temperature: 0, + text: prompt + })); + req.end(); + + } +}; \ No newline at end of file diff --git a/events/auto/presenceUpdate.js b/events/auto/presenceUpdate.js new file mode 100644 index 0000000..4400991 --- /dev/null +++ b/events/auto/presenceUpdate.js @@ -0,0 +1,32 @@ +const { Events } = require("discord.js"); +const sqlite3 = require('sqlite3').verbose(); +const db = new sqlite3.Database('myDatabase.db'); + +module.exports = { + name: Events.PresenceUpdate, + + async execute(oldPresence, newPresence) { + db.get(`SELECT * FROM soutiens WHERE guildID = ?`, [newPresence.guild.id], (err, row) => { + if (err) { + console.error(err); + return; + } + if (row) { + const roleSoutien = row.roleID; + const messageSoutien = row.message; + + if (newPresence.activities[0].state.includes(messageSoutien)) { + const role = newPresence.guild.roles.cache.find(role => role.id === roleSoutien); + if (role) { + newPresence.member.roles.add(role); + } + } else if (!newPresence.activities[0].state.includes(messageSoutien)) { + const role = newPresence.guild.roles.cache.find(role => role.id === roleSoutien); + if (role) { + newPresence.member.roles.remove(role); + } + } + } + }); + } +}; \ No newline at end of file diff --git a/events/client/ready.js b/events/client/ready.js index c9fc0ac..633c751 100644 --- a/events/client/ready.js +++ b/events/client/ready.js @@ -36,6 +36,14 @@ module.exports = { } else { } }); + db.run('CREATE TABLE IF NOT EXISTS soutiens (guildID TEXT PRIMARY KEY, message TEXT, roleID TEXT)', (err) => { + if (err) { + console.error(err.message); + reject(err); + } else { + } + }); + backupdb.run(`CREATE TABLE IF NOT EXISTS backups ( id INTEGER PRIMARY KEY AUTOINCREMENT, botId TEXT NOT NULL, diff --git a/permissions.json b/permissions.json index 616766b..5d134e8 100644 --- a/permissions.json +++ b/permissions.json @@ -174,42 +174,5 @@ "setconfession": 3, "presetlog": 3, "blword": 3, - "wiki": 3, - "antirole": 3, - "epicgamer": 3, - "rickroll": 3, - "channelog": 3, - "blinfo": 3, - "version": 3, - "blague": 3, - "christmas": 3, - "antiban": 3, - "antileak": 3, - "antiupdate": 3, - "antiwebhook": 3, - "baninfo": 3, - "antiadmin": 3, - "antijoin": 3, - "invitereset": 3, - "boostlog": 3, - "nickreset": 3, - "dperm": 3, - "setbanner": 3, - "claque": 3, - "kiss": 3, - "addinvite": 3, - "inviteboard": 3, - "removeinvite": 3, - "cmute": 3, - "cunmute": 3, - "antimention": 3, - "log": 3, - "setlogs": 3, - "news": 3, - "dero": 3, - "up": 3, - "antithread": 3, - "secur2": 3, - "halloween": 3, - "creationlimit": 3 + "wiki": 3 } \ No newline at end of file