Si vous avez été sur Internet Relay Chat (IRC), il est probable que vous ayez rencontré un bot à un moment donné. Les robots sont des programmes ou des scripts indépendants qui se connectent à un réseau de la même manière qu'un humain le ferait. Ils peuvent être programmés pour répondre aux commandes de l'utilisateur ou même discuter. Dans ce guide, vous pouvez trouver quelles sont vos options pour créer un bot IRC et comment en créer un à partir de zéro.
Pas
Méthode un sur 2: Évaluation des options
- un Pensez à installer un script client. Parfois, vous voulez juste une tâche simple et ne voulez pas que ce soit un programme indépendant. Dans ce cas, vous pouvez attacher un script à un client IRC. C'est assez courant à voir avec mIRC , qui dispose d'un moteur de script robuste et d'une grande variété de scripts disponibles. C'est l'option la plus simple et fortement recommandée si vous n'avez pas beaucoup ou aucune expérience en programmation. Pour le reste de ce guide, les instructions nécessitent une certaine connaissance de la programmation informatique à suivre.
- 2 Considérez une base de code préexistante pour votre bot. Il existe de nombreux programmes open source et gratuits qui peuvent vous aider à configurer rapidement votre propre bot personnalisé. Un tel exemple est Eggdrop , le plus ancien bot IRC toujours en cours de maintenance.
- 3 Pensez à écrire votre propre bot. Pour les utilisateurs et les développeurs IRC avancés qui connaissent déjà un langage de programmation, c'est une excellente option. Vous pouvez utiliser à peu près n'importe quel langage de votre choix tant qu'il prend en charge les sockets, mais les plus populaires à utiliser incluent Python, Lua, PHP, C et Perl. Si vous n'en connaissez aucun mais que vous connaissez une autre langue, ce n'est pas un problème. Vous pouvez généralement trouver des exemples sur le Web dans la langue de votre choix. Pour cet article, nous allons démontrer l'utilisation de PHP. Pour utiliser PHP, vous devez avoir PHP-CLI installé sur votre ordinateur ou serveur.
- PHP peut être téléchargé depuis php.net
- Les scripts PHP peuvent être exécutés à partir de la ligne de commande. Pour plus d'informations et d'aide sur l'utilisation de PHP, consultez cette page de manuel PHP .
Méthode 2 sur 2: Développer votre propre bot
- un Rassemblez les détails de connexion. Vous aurez besoin des informations suivantes pour vous connecter avec succès au réseau.
- Serveur : Le nom de domaine du serveur utilisé pour se connecter à IRC, tel que
chat.freenode.net
- Port : Dans la plupart des cas, il s'agit du 6667, mais si vous n'êtes pas sûr, vérifiez votre propre client IRC ou le site Web du réseau.
- Surnom : Le surnom que votre bot doit utiliser. Gardez à l'esprit que certains caractères spéciaux ne sont généralement pas autorisés (@ #! ~).
- Ident : Le champ ident apparaît après le surnom lorsque quelqu'un exécute un WHOIS comme celui-ci:
nickname!ident@hostname
- GECOS : Ce champ contient généralement le vrai nom d'un utilisateur ou une description générale du bot, mais vous pouvez y mettre ce que vous voulez.
- Canal : Vous souhaitez généralement que votre bot soit présent sur un ou plusieurs canaux. Sur la plupart des réseaux, ceux-ci sont préfixés par «#» mais cela peut être autre chose.
- Serveur : Le nom de domaine du serveur utilisé pour se connecter à IRC, tel que
- 2 Initialisez la configuration dans votre script. La manière la plus simple de le faire est de nommer quelques variables en fonction des noms de configuration ci-dessus. Vous pouvez également les stocker dans un fichier de configuration et les analyser, mais pour le moment, nous allons simplement nous en tenir aux nécessités absolues.
- 3 Connectez-vous au réseau. Pour ce faire, vous devrez ouvrir une socket sur le serveur sur le port spécifié. Vous devez également ajouter du code de gestion des erreurs dans cette partie au cas où la connexion échouerait pour une raison quelconque. Dans ce cas, PHP nous fournit des fonctions intéressantes pour gérer efficacement l'erreur.
- 4 Enregistrez votre bot. Cela signifie fournir votre pseudo, identifiant et GECOS au serveur, ne pas inscription avec NickServ. Pour ce faire, écrivez simplement les commandes NICK et USER sur le serveur, suivies d'un retour chariot et d'une nouvelle ligne. Il est impératif que vous le fassiez exactement comme indiqué, car c'est ainsi que cela est spécifié dans la RFC1459, la spécification du protocole IRC.
- Notez que les deux paramètres du milieu (dans ce cas, * et 8) doivent être spécifiés, mais ils sont ignorés par le serveur. Ces deux éléments ne sont utilisés qu'entre les serveurs liés, pas par un client se connectant directement.
- 5 Continuez à récupérer les données du socket en utilisant une boucle. Si vous n'utilisiez pas de boucle, votre script se terminerait immédiatement et le bot serait fondamentalement inutile. Pour rester connecté, vous devez récupérer les données du serveur, rechercher toute entrée dans le flux que vous souhaitez et y répondre si c'est le cas. Ici, nous récupérons des données en utilisant socket_read () pour récupérer toutes les données disponibles pour nous. S'il y en a, nous continuons à faire tout ce qui est dans la boucle. Il peut être utile de générer également les données brutes sur la console afin que vous puissiez voir ce qui se passe du point de vue du bot.
- 6 Écrivez un gestionnaire de ping. C'est important. Si vous ne répondez pas aux pings en temps opportun, le serveur vous déconnectera. Prenons soin de cela en premier. Les ping ressemblent à ceci lorsqu'ils sont envoyés depuis le serveur:
PING :rajaniemi.freenode.net
. Le serveur n'a pas à mettre son nom après le «:», il peut fournir ce qu'il veut. Vous * devez * répéter exactement ce que le serveur a dit, sauf en utilisant PONG. - sept Rejoignez vos chaînes. D'accord, nous avons donc un bot qui se connecte au réseau et répond aux pings, mais ne fait rien autrement. Pour que les gens voient et utilisent votre bot, il doit se trouver dans un canal (sinon, vous devrez lui dire de répondre aux messages privés).
- Pour ce faire, nous allons vérifier les codes d'état du serveur 376 ou 422. 376 signifie que le MOTD (message du jour) est terminé. 422 signifie qu'il n'y a pas de MOTD à envoyer. Ce MOTD est juste quelque chose que le serveur envoie lorsque vous vous connectez, mais c'est un bon indicateur du moment où nous pouvons commencer à rejoindre les canaux.
- Vous devrez émettre une commande JOIN. Cette commande peut être suivie d'un ou plusieurs canaux séparés par une virgule.
- Notez que les données envoyées par le serveur sont commodément délimitées par des espaces. De cette façon, nous pouvons diviser les données et les référencer à l'aide d'un index de tableau.
- 8 Répondez aux messages de la chaîne. Maintenant pour la partie amusante. Votre bot a rejoint le canal, vous pouvez maintenant l'utiliser pour ce que vous vouliez. Créons un exemple de commande appelé @moo.
- Notez le décalage où les messages commencent (cela s'applique aux canaux et aux messages privés). C'est toujours au même endroit.
- Vous pouvez gérer les commandes contenant des espaces en regroupant les données fragmentées ($ d). Cela dépasse le cadre de cet article.
- Si la cible est un canal (tel que # botters-test), vous répondez à cela. S'il s'agit d'un message privé, ce bit sera le surnom de votre bot! Vous devez ensuite répondre en utilisant le surnom de l'expéditeur, pas le vôtre (sinon vous vous parleriez à vous-même, et c'est juste idiot).
- 9 Développez votre bot. Vous pouvez ajouter de nombreuses nouvelles fonctionnalités en utilisant l'implémentation ci-dessus. Il existe de nombreuses autres commandes qui peuvent être émises sur le réseau IRC, telles que la gestion des opérations, le renvoi et l'interdiction, la définition du sujet, parmi de nombreuses autres fonctionnalités. Publicité
Questions et réponses de la communauté
Chercher Ajouter une nouvelle question- Question Après les avoir ajoutés dans notepad +, où dois-je ajouter ces codes? vol 8lack Mettez-les sur un serveur Web (tel qu'Apache) qui prend en charge PHP. Vous pouvez installer XXAMP sur votre ordinateur local ou les héberger sur un autre serveur Web.
Publicité
Conseils
- Vous pouvez produire le résultat de la commande '/ me' en préfixant vos messages comme ceci:
- PRIVMSG #channel: 001ACTION text here 001 .
- 001 signifie le caractère ASCII 1 et sera interprété comme tel dans une chaîne PHP entre guillemets. Vous pouvez également utiliser
chr(1)
en dehors de la chaîne.
- Les couleurs peuvent être produites dans un message en préfixant ' 003' (code ASCII 3) suivi d'un nombre pour une couleur. 0 = blanc, 1 = noir, 2 = bleu, 3 = vert, 4 = rouge [...]. Voir mIRC page de pour plus de couleurs.
- Par courtoisie, obtenez le consentement des propriétaires de canaux et des opérateurs IRC avant de mettre votre bot en ligne. Tous les réseaux et canaux n'ont pas de politique d'accueil envers les bots, même ceux qui se comportent bien.
- Certains démons IRC vont au-delà des spécifications du protocole et implémentent d'autres fonctionnalités. Si vous l'adaptez à un réseau spécifique, vous pouvez certainement utiliser ces fonctionnalités si vous connaissez leur protocole. Cependant, si vous souhaitez que votre bot soit déployé sur plusieurs réseaux, essayez de le conserver dans le RFC.
Publicité Soumettre un conseil Toutes les soumissions de conseils sont soigneusement examinées avant d'être publiées. Merci d'avoir soumis un conseil pour examen!