Skip to content

ZarTek-Creole/TCL-ClaraServ

Repository files navigation

Open Collective donate button CC BY 4.0


Logo

ClaraServ - IRC Service d'animation

Service IRC "ClaraServ" en TCL pour EggDrop 🥚 🤖
Rapporter un bogue · Demander une fonctionalité · Demander de l'aide

À propos

💡 Service IRC d’animation de salon, vos utilisateurs peuvent taper des commandes sur IRC qui fait réagir le service en créant une action à eux-mêmes ou à un autre utilisateur

Capture d'écran (screenshot)

Car une image parle plus qu'une longue description : image image

Installation & configuration

Prérequis

Téléchargement

Première étape, téléchargez dans le répertoire scripts/ de votre EggDrop le code ClaraServ grâce au Client GIT.

Exemple pour /home/votre-dossier/eggdrop/scripts/ClaraServ

git clone https://github.com/ZarTek-Creole/TCL-Clara-Service /home/votre-dossier/eggdrop/scripts/ClaraServ

Configuration de votre EggDrop

Deuxième étape, ouvrez le fichier de configuration de votre EggDrop eggdrop.conf et ajoutez ✍️ la ligne ci-dessous :

source /home/votre-dossier/eggdrop/scripts/ClaraServ/ClaraServ.tcl

Configuration de ClaraServ Service

Troisième étape, renommez le fichier ClaraServ.example.conf en ClaraServ.conf, éditez-le ✍️ et configurez celui-ci en fonction de votre serveur IRCD.

Configuration de votre IRCD

Quatrième étape, il vous suffit de configurer le ” link ” ✍️ en fonction de la configuration que vous aurez réalisé dans ClaraServ.conf.

Comment créer un link ClaraServ sur UnrealIRCd

Afin de réaliser votre link ClaraServ, veuillez vérifier si vous disposez d’un port dédié pour vos links (plusieurs listen) ou bien d’un mono port (un seul listen) :  

Block Listen

listen <IP-serveur>:<Port-link> {  
  options {  
    serversonly;  # Pour les services seulement
		tls;          # Activer le SSL
  };  
};  

<IP-serveur> doit être identique a la valeur config(uplink_host) du fichier ClaraServ.conf
<Port-link> doit être identique a la valeur config(uplink_port) du fichier ClaraServ.conf
Si vous spécifier tls;, vous activer une connexion sécuriser en SSL; La valeur de config(uplink_ssl) doit être mise à 1

Block uline

ulines {  
  <ClaraServ.nom-de-domaine.fr>;  
};

Ajoutez le nom de domaine (virtuel ou non) de votre link a la place de <ClaraServ.nom-de-domaine.fr>, celui-ci doit être identique a la valeur config(service_host) du fichier ClaraServ.conf

Block link

link <ClaraServ.nom-de-domaine.fr> {  
  username          *;  
  hostname          <IP-link>;  
  bind-ip           *;  
  port              <Port-link>;  
  hub               *;  
  password-connect  "<mot-de-passe-link>";  
  password-receive  "<mot-de-passe-link>";  
  class servers;  
};

<ClaraServ.nom-de-domaine.fr> doit être identique a la valeur config(service_host) du fichier ClaraServ.conf
<mot-de-passe-link> doit être identique a la valeur config(uplink_password) du fichier ClaraServ.conf
<IP-link> doit être identique a la valeur config(uplink_host) du fichier ClaraServ.conf
<Port-link> doit être identique a la valeur config(uplink_port) du fichier ClaraServ.conf

Enregistrez le fichier de configuration. N’oubliez pas de Rehash votre serveur.   /rehash

Comment créer un link ClaraServ sur InspIRCd

Block bind  

Afin de réaliser votre link Serveur ou Service, veuillez vérifier que vous disposez bien du bind serveur ci-dessous :  

 <bind address="<IP-link>" port="<Port-link>" type="servers"> 

<IP-link> doit être identique a la valeur config(uplink_host) du fichier ClaraServ.conf
<Port-link> doit être identique a la valeur config(uplink_port) du fichier ClaraServ.conf

Block link  

<link name="<ClaraServ.nom-de-domaine.fr>" ipaddr="<IP-link>" port="<Port-link>" allowmask="<IP-link>" sendpass="<mot-de-passe-link>" recvpass="<mot-de-passe-link>">  

<ClaraServ.nom-de-domaine.fr> doit être identique a la valeur config(service_host) du fichier ClaraServ.conf
<mot-de-passe-link> doit être identique a la valeur config(uplink_password) du fichier ClaraServ.conf
<IP-link> doit être identique a la valeur config(uplink_host) du fichier ClaraServ.conf
<Port-link> doit être identique a la valeur config(uplink_port) du fichier ClaraServ.conf

Block uline

<uline server="<ClaraServ.nom-de-domaine.fr>" silent="no">

 Ajoutez le nom de domaine (virtuel ou non) de votre link a la place de <ClaraServ.nom-de-domaine.fr>, celui-ci doit être identique a la valeur config(service_host) du fichier ClaraServ.conf

 

Block module

Attention, dans le but de réaliser votre link, veuillez vérifier que votre configuration comporte bien le module ci-dessous :

<module name="m_spanningtree.so">

Rehashez votre EggDrop

Cinquième étape, connectez-vous en Party-Line avec votre EggDrop puis tapez la commande suivante :

.rehash

ou redémarrez votre EggDrop

Notez: évitez d'arrêter votre EggDrop autrement qu'avec la commande .die en partyline.
En effet la commande kill peut endommager les bases de données en fichiers

Utilisation

Les commandes de ClaraServ

ℹ️ Les informations entre sont obligatoires et celles entre [texte] sont facultatives.

En privé (à ClaraServ)

/msg ClaraServ help help - Affiche cette aide cmds - Affiche la liste des commandes about - A propos de ClaraServ join <#Salon> <Mot_de_passe_admin> - Joindre le robot ClaraServ sur le <#Salon> part <#Salon> <Mot_de_passe_admin> - Retiré le robot ClaraServ du <#Salon>

En publique (sur un salon)

/msg #Salon !help !help - Affiche cette aide !cmds - Affiche la liste des commandes ! [Pseudonyme] - Exécute une animation !random [Pseudonyme] - Choisi une animation de manière aléatoire !about - A propos de ClaraServ

les Animations (par defaut)

Liste exhautive

    !7up      |     !aime     |     !ange     |     !anni     |    !apéro     |    !baffe     |    !bière     |     !bjr     
   !boude     |    !bouge     |     !bus      |     !bye      |     !café     |   !carambar   |  !champagne   |    !chante   
  !chocolat   | !chocolatine  |    !choqué    |    !clope     |     !clé      |     !coca     |    !cochon    |    !coeur    
 !croissant   |    !curly     |    !câlin     |    !danse     |     !dodo     |    !dzoss     |     !eau      |   !embrasse  
   !fesses    |    !fessée    |    !fleur     |    !fouet     |    !gaufre    |    !glace     |    !gratte    |    !gâteau   
    !jump     |    !kebab     |     !kiss     |     !love     |     !lune     |    !macdo     |   !mariage    |     !mars    
  !massage    |    !merci     |  !milkshake   |     !mms      |    !mojito    |     !mord     |    !mouton    |     !noir    
   !oignon    |   !orangina   |    !patate    |    !pelle     |     !perf     |   !piscine    |    !pizza     |    !plouf    
  !popcorn    |    !pouet     |    !rateau    |   !redbull    |    !relou     |     !rhum     |     !rose     |   !ruisseau  
   !saute     |     !seau     |     !sexy     |    !string    |  !tendresse   |     !thé      |    !triste    |  !tropicana  
   !truite    |     !vent     |    !vidéo     |    !vittel    |     !vnr      |     !waff     |    !whisky    |     !zen     
   !écran     |    !étoile   

Les salons

Faire joindre ClaraServ

/msg ClaraServ join <#Salon> <Mot_de_passe_admin>

<#Salon> remplacez par le nom du salon que ClaraServ doit joindre.
<Mot_de_passe_admin> remplacez par le mot de passe que vous avez defini dans ClaraServ.conf à la variable config(admin_password).

Faire partir ClaraServ

/msg ClaraServ part <#Salon> <Mot_de_passe_admin>

<#Salon> remplacez par le nom du salon que ClaraServ doit partir.
<Mot_de_passe_admin> remplacez par le mot de passe que vous avez defini dans ClaraServ.conf a la variable config(admin_password).

Un peu plus loin

Ajouter une nouvelle animation (!commande)

Pour ajouter une animation rendez-vous dans le répertoire db/, selectionnez le fichier dans la database..db choisi avec config(db_lang) dans ClaraServ.conf. Suivis le schéma des autres animation en ajoutant :

	{{!<animation>}		{0}		{<Texte de l'animation>}}
	{{!<animation>}		{1}		{<Texte de l'animation>}}

!<animation> est la commande pour lancer l'animation par exemple donation
La valeur {0} signifie "à soi-même", la personne fait l'animation à elle-même
La valeur {1} signifie "moi à lui", la personne fait l'animation à quelqu'un
<Texte de l'animation> est le contenue de l'animation par exemple %sender% fait une donation au projet ClaraServ
ci-dessus remarqué %sender% qui est une variable de substitution.

Les variables de substitutions

Les variables de substitutions permettent d'être remplacées une valeur précise (dans les bases de données d'animations).

%pseudo% est remplacé par le pseudonyme à qui l'animation est envoyé (!animation pseudonyme).
%sender% est remplacé par le pseudonyme de la personne qui lance l'animation.
%destination% est remplacé par le nom du #salon.
%month% est remplacé par le nom du mois, il sera remplacé par Janvier
%month_num% est remplacé par le chiffre du mois, il sera remplacé par 1
%hour% est remplacé par le chiffre de l'heure, par exemple si il est 1h, il sera remplacé par 01
%hour_short% est remplacé par le chiffre de l'heure, par exemple si il est 1h, il sera remplacé par 1
%minutes% est remplacé par le chiffre de la minute actuelle, par exemple si il est 1h05, il sera remplacé par 05
%minutes_short% est remplacé par le chiffre de la minute actuelle, par exemple si il est 1h05, il sera remplacé par 5
%seconds% est remplacé par le chiffre de la seconde actuelle, par exemple si il est 1:05:09, il sera remplacé par 09
%seconds_short% est remplacé par le chiffre de la seconde actuelle, par exemple si il est 1:05:09, il sera remplacé par 9
%year% est remplacé par l'année sous la forme 2022
%day% est remplacé par le jour de la semaine par exemple mardi
%day_num% est remplacé par le numéro du jour par exemple 31

Si vous avez besoin ou avez une idée de nouvelles variables de substitutions suggérer ici

Résolution de problèmes

Débug Link

Si vous rencontrez un problème à la liaison de votre ClaraServ vers votre IRCD, activer le mode “débug”
Pour activer le mode débug changez la valeur set config(uplink_debug) dans ClaraServ.conf en mettant 1 à la place de 0.

Les problèmes connus

Voir les problèmes en suspens pour une liste des fonctionnalités proposées (et des problèmes connus).

Contribuer ou aider ce projet ClaraServ

Améliorer le code

Les contributions sont ce qui fait de la communauté open source un endroit incroyable pour apprendre, inspirer et créer. Toute contribution que vous apportez est grandement appréciée.

  1. Forkez le projet
  2. Créez votre branche de fonctionnalités (git checkout -b feature/AmazingFeature)
  3. Validez vos modifications (git commit -m 'Add some AmazingFeature')
  4. Poussez vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

Signaler un problème

👩‍🏭 Vous pouvez signaler un problème ⚠️

Sugestions de fonctionalités

Vous pouvez faire des Sugestions d'idées 🧠

Donation

Ce projet est librement partagé et est entièrement gratuit 💯🆓. Il a été développé durant le temps libre de l’auteur. 🕞 🕧 🕑
Le développement a nécessité de nombreuses heure,s d’un serveur, etc

Le support est également totalement gratuit, la seule manière de remercier l’auteur et permettre le suivi du code et de nouveau projet sont les donations, toutes sommes même les plus minimes sont utiles

Contact

Tickets

Signalez tout bogue, toutes idées :

IRC

Vous pouvez me contacter sur IRC :

  • irc.Extra-Cool.Fr 6667 #Zartek
  • irc.Extra-Cool.Fr +6697 #Zartek

ChangeLog

Vous pouvez lire les modifications dans le ChangeLog 🔖

Remerciements

  • A Amandine d'EggDrop.Fr pour son aide/idées/testes/…👍
  • A Maxime & Tibs pour les emojis et les idées👍
  • A MenzAgitat car dans mes développements il y a toujours des astuces/manière de faire fournir par MenzAgitat ou bout code de MenzAgitat👍
  • A tous les donateurs et donatrices qui font vivre les projets 💯 👍 🥇
  • A toutes les (futures) personnes qui proposent des idées, signalent des bogues, contribuent aux projets!👍👍👍

Documentation pour les developpeurs

Documentation 📑