Coder Social home page Coder Social logo

thomasbnt / bord-pi Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 3.0 747 KB

Un robot Discord gérant et aidant les utilisateurs pour votre propre serveur.

Home Page: https://thomasbnt.dev/discord

License: GNU General Public License v3.0

JavaScript 100.00%
discordjs discord-api discordbot handler francais hacktoberfest

bord-pi's Introduction

Discord Voir les Releases GitHub last commit Depfu


Introduction

Logo Bord Pi

Note

Vérifiez que votre Version NodeJS est supérieure à 16.6.0.

Propre, rapide, beau, simple d'utilisation et de modification.

Bord Pi est un robot Discord qui fonctionne avec l'API Discord et le package Discord.js, paramétré en fonction du serveur Discord du Coin du Cappu'. Il est néanmoins accessible et facilement possible à le paramétrer à votre façon pour votre propre serveur.

Important

Toutes les configurations sont spécialement pour le serveur où se trouve ce robot. Si vous le testez, vous aurez sûrement des erreurs si vous n'avez pas modifié les ID des salons.

Merci aux Sponsors pour votre soutien ! Si vous aussi, vous voulez aider au développement de plusieurs projets comme celui-ci, n'hésitez pas à faire une donation.

GitHub Sponsors

Nouveautés

La version 3 de Bord Pi ajoute la dernière fonctionnalité de Discord : les Slash Commands. Plus aucun préfixe n'est nécessaire pour les commandes.

  • Slash Commands
  • Logs

Les intégrations

  • Un module permettant de changer la bannière du serveur tous les jours avec une image Unsplash
  • Un filtre contre les liens Discord, vous pouvez bien évidemment lui ajouter l'ID du channel de publicité dans IDAdsChannel. Le robot ne fera rien dans ce channel en question.
  • Un système de logs interne via Webhooks.
  • Un message de bienvenue personnalisé.

Pas mal de changements sur le code, notamment le rangement des fichiers, des logs plus propre et un code plus net. Quant au niveau de la sécurité du robot, il vérifie la plupart du temps s'il peut faire les actions qui voudrait faire, s'il ne peut pas, il passe sans râler.

¹. Si le serveur a la fonctionnalité de bannière, et que le module est activé et correctement configurée, le robot changera la bannière tous les jours à 2h du matin.

Les permissions

Le robot doit avoir les Intents privilégié suivant :

  • Server members
  • Message content

Important

Sans ces intents, le robot ne fonctionnera pas. Quand vous l'ajouterez sur votre propre serveur, n'oubliez pas de le mettre en privé et de lui donner les permissions suivantes :

Scopes :

  • bot
  • applications.commands

Permissions bot :

  • Manage server
  • Manage Roles
  • Kick members
  • Ban members
  • Read Messages/View Channels
  • Moderate Members
  • Send Messages
  • Manage Messages
  • Embed links
  • Attach files
  • Read message history
  • Add reactions

Comment le faire fonctionner

  1. Assurez-vous d'avoir la version de NodeJS supérieure à 16.9.0.
  2. Installez les dépendences avec un coup de npm install ou yarn add.
  3. Copiez le fichier config.exemple.json en config.json.
  4. Remplissez les configurations dans config.json.
  5. Vous pouvez désormais allumer votre robot avec npm run start.

Les modules complémentaires

Module Unsplash

Vous avez la possibilité d'activer le module Unsplash pour avoir une bannière de serveur qui change tous les jours suivant le thème que vous avez choisi.

Pour cela, il vous suffit de mettre true dans optionalModules.unsplash.activate dans le fichier config.json.

Obtenir ma Access Key de Unsplash (UnsplashAccessKey)

Afin de communiquer avec l'API Unsplash, vous devez créer un compte sur Unsplash.

  1. Rendez-vous sur votre dashboard et créez une nouvelle application.
  2. Remplissez les informations demandées.
  3. Une fois l'application créée, vous aurez accès à votre Access Key.
  4. Copiez-la et collez-la dans config.json dans optionalModules.unsplash.unsplashAccessKey.
  5. Vous pouvez désormais allumer votre robot, il changera la bannière tous les jours à 2h du matin comme indiqué dans ready.js.

Les paramètres

Tous les paramètres sont respectivement dans config.json dans optionalModules.unsplash.

value default type Exemple description
activate true boolean Activer ou désactiver le module de changement de bannière Unsplash
unsplashAccessKey null string La clé d'accès à l'API Unsplash
optionalQuery "nature clouds" string "rustic gaming" Le thème de recherche pour les images Unsplash
optionalUsername null string "thomasbnt" Permet de récupérer les images seulement à partir d'un profil Unsplash
optionalCollectionsID null Array ["520359", "10437765"] Permet de récupérer les images seulement à partir d'une ou plusieurs collection(s) Unsplash (cela désactive le filtre optionalQuery et optionalUsername)

Contributions

Les contributions sont toujours les bienvenues ! Lisez les règles pour les contributions avant de pouvoir y participer.

Veuillez vous assurer que votre demande de pull request respecte les lignes directrices suivantes :

  • Rechercher des suggestions précédentes avant d'en faire une nouvelle, afin d'éviter les doublons.
  • Les fichiers README suggérés devraient être beau ou se démarquer d'une manière ou d'une autre.
  • Faire une demande de pull request individuelle pour chaque suggestion.
  • De nouvelles catégories ou des améliorations à la catégorisation existante sont les bienvenues.
  • Gardez de courtes descriptions simples, mais descriptives.
  • Commencez la description avec une capitale et terminez par un arrêt/période complet.
  • Vérifiez votre orthographe et votre grammaire.
  • Assurez-vous que votre éditeur de texte est configuré pour supprimer les espaces de fin.

Merci pour vos suggestions !

Les codes couleurs

Principaux PrimaryColor DangerColor InfoColor SuccessColor BlackColor
Code Hexadécimal #E74C3C #B20000 #6897BB #47b60f #36393F

Pour les utiliser : config.colors.PrimaryColor, récupère la couleur primaire.

Besoin de se faire héberger son propre robot ?

Si vous le souhaitez, vous pouvez avoir votre propre robot hébergé pour votre serveur Discord. Il serait basé sur ce code, et aura un nom et une image différente que vous choisirez ! ✨

Ayez votre robot à votre effigie

Licence

Bord Pi est sous licence GNU GPL 3. Veuillez la respecter. Si vous reprenez le code, merci de me créditer dans la bio du robot avec le lien de ce dépôt public. Merci à ceux qui le feront. ❤️

Informations complémentaires

L'image a été modifiée par Thomas Bnt, veuillez donc à ne pas l'utiliser publiquement et/ou commercialement. Initialement, l'image appartient à Raspberry Pi.

Faire une donation

GitHub Sponsors Support me on Buy Me a Coffee

bord-pi's People

Contributors

deepsource-autofix[bot] avatar deepsourcebot avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar depfu[bot] avatar github-actions[bot] avatar greenkeeper[bot] avatar mystereee avatar nesmon avatar thomasbnt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bord-pi's Issues

Idée : Créer un thread hebdomadaire

Pourquoi ?

En reprenant l'exemple du message automatiquement créée via n8n chaque semaine le lundi soir pour poser une question, un thread est créée manuellement pour que la discussion soit rangée.

Que faire ?

Faire en sorte que le nom du thread, l'heure et le jour via tâche CRON soit personnalisable via un nouveau module.

member.avatarURL() is not a function (BPH)

🐞 Reporter un bug

Description

Err member.avatarURL() sur le module BPH (BordPiHelper) https://github.com/thomasbnt/Bord-Pi/blob/main/modules/BordPiHelper.js#L31 depuis l'event GuildMemberRemove ligne https://github.com/thomasbnt/Bord-Pi/blob/main/events/guildMemberRemove.js#L9.

Expliquez le problème très clairement et ce que ça produit.

🔥 Exception ou Erreur

TypeError: member.avatarURL is not a function
|bordpi   |     at BordPiHelper.LogsMemberInOutServer (/Bord-Pi/modules/BordPiHelper.js:31:25)
|bordpi   |     at Object.execute (/Bord-Pi/events/guildMemberRemove.js:9:18)

🌍 Votre environnement

Version NodeJS : 17.0.1
Version NPM : 8.5.5

Rôles : Possibilité de les avoir directement avec les boutons.

🚀 Proposition d'une nouvelle fonctionnalité

Description

Se procurer des rôles directement depuis les boutons.

image


Exemple :

const discord = require('discord.js'); //Define the discord.js module
const client = new discord.Client(); //Creating discord.js client (constructor)
require('discord-buttons')(client);

const disbut = require('discord-buttons');

let button = new disbut.MessageButton()
  .setLabel('This is an button')
  .setID('myid')
  .setStyle('blurple');

message.channel.send('Ayo!', button);

Message de boost

🚀 Proposition d'une nouvelle fonctionnalité

Description

Un message de boost modifiable pour mettre d'avantage en valeur les membres qui boost.

Change the licence inside your package.json

{
  "name": "bordpi",
  "version": "1.0.0",
  "description": "",
  "main": "core/app.js",
  "scripts": {
    "start": "node core/app.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "discord",
    "bot",
    "js"
  ],
  "author": "Thomas Bnt",
  "license": "ISC", <---------- GNU GPL3.0
  "dependencies": {
    "colors": "^1.1.2",
    "consola": "^1.2.0",
    "discord.js": "^11.3.0",
    "fs": "0.0.1-security",
    "path": "^0.12.7"
  }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.