4 315
modifications
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 19 : | Ligne 19 : | ||
==Création d'un dossier pour ce projet de bot == | ==Création d'un dossier pour ce projet de bot == | ||
Sur le bureau, créez un dossier | Sur le bureau, créez un dossier en le nommant <code>Robot IRC</code>. | ||
===Utilisation du paquet "IRC Framework"=== | ===Utilisation du paquet "IRC Framework"=== | ||
Ligne 33 : | Ligne 33 : | ||
Dans le dossier <code>Robot IRC</code>, créez un fichier nommé <code>bot.js</code>. | Dans le dossier <code>Robot IRC</code>, créez un fichier nommé <code>bot.js</code>. | ||
Pour cela il faut utiliser Bloc-note ou NotePad++ ou | Pour cela il faut utiliser Bloc-note ou NotePad++ ou un éditeur JavaScript. | ||
Il faut faire en sorte que le fichier s' | Il faut faire en sorte que le fichier s'appelle bien <code>bot.js</code> et non pas <code>bot.js.txt</code>. | ||
Ensuite tout en haut du fichier bot.js, ajoutez ceci : | Ensuite tout en haut du fichier bot.js, ajoutez ceci : | ||
Ligne 42 : | Ligne 42 : | ||
</source> | </source> | ||
Vous pouvez ajouter ceci juste en dessous (et c'est même commenté): | |||
<source lang="javascript"> | <source lang="javascript"> | ||
const bot = new IRC.Client(); // | const bot = new IRC.Client(); // Constructeur. | ||
// Configuration de la connexion | // Configuration de la connexion | ||
Ligne 54 : | Ligne 54 : | ||
}); | }); | ||
// Événement | // Événement équivalent au raw 001 | ||
bot.on('registered', function() { | bot.on('registered', function() { | ||
console.log('Connected!'); | console.log('Connected!'); | ||
bot.join('#quizz'); // | bot.join('#quizz'); // Joindre le salon #quizz à partir du raw 001. | ||
// var channel = bot.channel('#quizz'); | // var channel = bot.channel('#quizz'); | ||
// channel.join(); | // channel.join(); | ||
Ligne 66 : | Ligne 66 : | ||
}); | }); | ||
// Événement | // Pour le raw 005, il faudra voir du côté de celui-ci : | ||
/* | |||
let raw005 = false; | |||
bot.on('server options', function(event) { | |||
if (!raw005) { | |||
raw005=true; | |||
bot.join('#quizz'); // Joindre le salon #quizz à partir du raw 005 | |||
} | |||
}); | |||
*/ | |||
// Événement déconnexion du bot; bug ou connexion impossible. | |||
bot.on('close', function() { | bot.on('close', function() { | ||
console.log('Connection close'); | console.log('Connection close'); | ||
Ligne 79 : | Ligne 90 : | ||
}); | }); | ||
// Événement en salon ou en pv, on tape "!hi" dans le pv du bot ou dans le | // Événement en salon ou en pv, on tape "!hi" dans le pv du bot ou dans le salon #quizz et le bot répondra "sup". | ||
// Ce système peut aussi être construit directement dans l'événement 'message'. | // Ce système peut aussi être construit directement dans l'événement 'message'. | ||
bot.matchMessage(/^!hi/, function(event) { | bot.matchMessage(/^!hi/, function(event) { | ||
Ligne 85 : | Ligne 96 : | ||
}); | }); | ||
// Événement whois | // Événement whois; réception de la réponse du whois. | ||
bot.on('whois', function(event) { | bot.on('whois', function(event) { | ||
console.log(event); | console.log(event); | ||
}); | }); | ||
// Événement join | // Événement join; réception des joins. | ||
bot.on('join', function(event) { | bot.on('join', function(event) { | ||
console.log('user joined', event); | console.log('user joined', event); | ||
}); | }); | ||
// Événement userlist | // Événement userlist.. | ||
bot.on('userlist', function(event) { | bot.on('userlist', function(event) { | ||
console.log('userlist for', event.channel, event.users); | console.log('userlist for', event.channel, event.users); | ||
}); | }); | ||
// Événement part | // Événement part. | ||
bot.on('part', function(event) { | bot.on('part', function(event) { | ||
console.log('user part', event); | console.log('user part', event); | ||
Ligne 108 : | Ligne 119 : | ||
Enregistrez le fichier et démarrez votre bot en tapant <code>node bot.js</code> dans votre terminal (invite de commande). Vous pouvez aussi utiliser <code>node bot</code> pour le démarrer. | Enregistrez le fichier et démarrez votre bot en tapant <code>node bot.js</code> dans votre terminal (invite de commande). Vous pouvez aussi utiliser <code>node bot</code> pour le démarrer. | ||
Pour stopper sa connexion, tapez <code> | Pour stopper sa connexion, tapez <code>CTRL</code> + <code>C</code>. | ||
Voila, c'est tout ce qu'il faut au minimum pour créer un | Voila, c'est tout ce qu'il faut au minimum pour créer un petit robot IRC avec Node.js. | ||
Ligne 120 : | Ligne 131 : | ||
Documentations <strong>IRC Framework</strong> : https://github.com/kiwiirc/irc-framework/tree/master/docs | Documentations <strong>IRC Framework</strong> : https://github.com/kiwiirc/irc-framework/tree/master/docs | ||
Le projet IRC-Framework est créé par le groupe KiwiIRC, il est parfait pour créer des robots IRC et des clients IRC | Le projet <strong>IRC-Framework</strong> est créé par le groupe KiwiIRC, il est parfait pour créer des robots IRC et des clients IRC, comme celui qu'il y a sur https://discussionner.com. | ||
Il existe un autre paquet pour créer | Il existe un autre paquet pour créer un robot IRC, c'est <code>npm install irc</code> (https://www.npmjs.com/package/irc) que je déconseille d'utiliser, car incomplet et il semble abandonné depuis 2016. | ||
Ligne 129 : | Ligne 140 : | ||
Depuis 2019, j'ai créé 5 robots | Depuis 2019, j'ai créé 5 robots Node.js (avec le paquet irc-framework), et ils sont actuellement en ligne sur le <strong>tchat IRC Discussionner.com</strong> dans différents salons, les noms des robots sont: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Ligne 160 : | Ligne 171 : | ||
|Décembre 2019 | |Décembre 2019 | ||
|Madrix | |Madrix | ||
|idem, mais cette fois optimisé pour les ados du salon #Ados avec des questions versions collégiens. Exam est présent sur # | |idem, mais cette fois optimisé pour les ados du salon #Ados avec des questions versions collégiens. Exam est présent sur #16-25ans. Exam est aussi présent sur EuropNet dans le salon #mimacy. | ||
|- | |- | ||
|tapavu | |tapavu |