Advertisement
Guest User

Untitled

a guest
Oct 13th, 2023
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.15 KB | None | 0 0
  1. // Dépendances
  2. const fs = require('fs');
  3. const { Client, GatewayIntentBits, Collection } = require('discord.js');
  4. const OpenAI = require('openai');
  5. const moment = require('moment');
  6. const axios = require('axios');
  7.  
  8. // Récupérer les tokens à partir d'un fichier de configuration
  9. const config = require('./config.json');
  10. const { discordToken, openaiApiKey, openWeatherMapApiKey } = config;
  11.  
  12. // Initialisez le client
  13. const client = new Client({
  14. intents: [
  15. GatewayIntentBits.Guilds, // Permet au bot de recevoir des informations sur les serveurs
  16. GatewayIntentBits.GuildMessages, // Permet au bot de recevoir des messages dans les serveurs
  17. GatewayIntentBits.MessageContent // Permet au bot de recevoir le contenu des messages
  18. // Ajoutez d'autres intents si nécessaires
  19. ]
  20. });
  21.  
  22. // Collections
  23. client.commands = new Collection();
  24.  
  25.  
  26. // Chargez les commandes
  27. const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));
  28.  
  29. for (const file of commandFiles) {
  30. const command = require(`./commands/${file}`);
  31. client.commands.set(command.name, command);
  32. }
  33.  
  34. // Lisez le fichier JSON (config.json)
  35. const statuses = [
  36. "BOIRE DES TASSES !!!",
  37. "préfixe = !",
  38. "Bienvenue dans le yacht de Nats, un p'tit encas ?"
  39. ];
  40.  
  41. let currentIndex = 0;
  42.  
  43. // Écoutez les événements et effectuez les actions
  44. client.on('ready', () => {
  45. console.log("Félicitations, le Capitaine a été correctement initialisé !");
  46.  
  47. // Définir le premier statut
  48. client.user.setActivity(statuses[currentIndex], { type: 'PLAYING' });
  49.  
  50. // Changer de statut toutes les 10 secondes
  51. setInterval(() => {
  52. currentIndex = (currentIndex + 1) % statuses.length;
  53. client.user.setActivity(statuses[currentIndex], { type: 'PLAYING' });
  54. }, 10000);
  55. });
  56.  
  57.  
  58. client.on('message', async (message) => {
  59. console.log(`Message reçu : ${message.content}`);
  60.  
  61. if (message.author.bot) return;
  62.  
  63. const args = message.content.slice(config.prefix.length).trim().split(/ +/);
  64. const command = args.shift().toLowerCase();
  65.  
  66. console.log(`Commande détectée : ${command}`);
  67.  
  68. if (message.content.startsWith(config.prefix)) {
  69. if (client.commands.has(command)) {
  70. try {
  71. console.log(`Commande exécutée : ${command}`);
  72. client.commands.get(command).execute(message, args, openaiApiKey);
  73. } catch (error) {
  74. console.error(error);
  75. }
  76. }
  77. }
  78.  
  79.  
  80. const responses = ['Salutations !', 'Salut !', 'Hello !', 'Hey, comment-vas tu ? !', 'Coucou !', 'Bien le bonjour !', 'Yo ma poule !'];
  81.  
  82. const getRandomResponse = () => {
  83. const randomIndex = Math.floor(Math.random() * responses.length);
  84. return responses[randomIndex];
  85. };
  86.  
  87. const salutations = ['bonjour', 'salut', 'hello', 'hey', 'coucou', 'bonsoir'];
  88.  
  89. const content = message.content.toLowerCase();
  90.  
  91. if (salutations.some(keyword => content.includes(keyword.toLowerCase()))) {
  92. const randomResponse = getRandomResponse();
  93. message.channel.send(randomResponse);
  94. }
  95.  
  96.  
  97. });
  98.  
  99.  
  100. client.on('guildMemberUpdate', (oldMember, newMember) => {
  101. const role = newMember.guild.roles.cache.find(role => role.name === 'Membres');
  102.  
  103. if (role) {
  104. if (!oldMember.roles.cache.has(role.id) && newMember.roles.cache.has(role.id)) {
  105. const channel = client.channels.cache.get('919253651950800936'); // Remplacez 'ID_DU_SALON' par l'ID du salon
  106. if (channel) {
  107. channel.send(`${newMember} a embarqué dans le Yacht ! Bienvenue ! Je te propose de prendre tes rôles dans les salons <#1107284087103832204> et <#919241828887298098>. Ensuite, un petit test de personnalité est disponible dans ce fil <#1148460530625945710> si tu souhaites obtenir un rôle marin qui te différenciera des autres membres. Bon séjour ;) `);
  108. } else {
  109. console.error(`Salon introuvable.`);
  110. }
  111. } else {
  112. console.error(`Une erreur s'est produite lors de la mise à jour du rôle.`);
  113. }
  114. } else {
  115. console.error(`Le rôle 'Membres' n'a pas été trouvé.`);
  116. }
  117. });
  118.  
  119.  
  120.  
  121.  
  122. client.login(process.env.BOT_TOKEN);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement