4 votes

Fonctionnalités du robot IRC

Je suis en train d'apprendre Python et j'aimerais commencer un petit projet. Il semble que la création de bots IRC soit un projet populaire parmi les débutants, alors j'ai pensé en réaliser un. Évidemment, il y a des fonctionnalités de base comme la possibilité de se connecter à un serveur et de rejoindre un canal, mais quelles sont les bonnes fonctionnalités qui sont généralement incluses dans les bots ? Merci pour vos idées.

2voto

Michael Mrozek Points 44120

À moins que ce ne soit uniquement pour l'expérience éducative, vous devriez vraiment utiliser un cadre pour la fonctionnalité de base.

Cela dit, voici quelques-unes des choses que fait le robot dans mon canal IRC personnel :

  • Choisissez un élément dans une liste d'options
  • Affiche une entrée aléatoire du fichier Fortunes de Linux.
  • Affiche un ensemble aléatoire de mots provenant du fichier spook d'Emacs.
  • Vérifier chaque ligne d'un utilisateur et afficher une citation de The Big Lebowski s'il est suffisamment similaire (ceci est probablement un peu spécifique à mon canal :) )
  • Vérifier si un lien a déjà été mentionné et dire qui/quand (nous lisons tous les mêmes flux RSS et avons souvent tendance à dupliquer les liens).
  • Réaliser un sondage
  • Extraire une citation donnée de notre système interne QDB
  • Vérifier si un lien donné a été posté sur Reddit, et donner le lien du fil Reddit correspondant si c'est le cas. Si un lien Reddit est posté, donnez le lien direct à la place.
  • Suivre la dernière fois qu'un pseudo donné a été dans le canal, et la dernière fois qu'ils ont parlé.
  • Mettez en file d'attente un message pour un pseudo hors ligne qui sera automatiquement envoyé dans le canal lorsqu'il s'y joindra.
  • Utiliser Google Translate pour traduire une phrase donnée
  • Publier une ligne donnée sur le fil Twitter de notre chaîne
  • Choisissez un utilisateur au hasard et donnez-lui un coup de pied (ce n'est pas la meilleure idée selon le degré d'indiscipline de votre canal).
  • Extraire le résumé d'un terme donné de Wikipédia et l'afficher avec un lien vers l'article complet.
  • Afficher des informations sur tout lien Youtube posté (titre de la vidéo, durée, émetteur, votes, commentaires, etc.)

1voto

meder Points 81864

Je suis également en train d'écrire un bot en node.js. Voici quelques-uns de mes objectifs/fonctions :

  • mappez la commande '@' pour que le robot détecte la dernière URI dans l'historique des messages et utilise le service de validation html w3
  • créer un jeu de questions en invoquant !ask, poser une question avec 3 indices, avoir la possibilité de charger des questions personnalisées basées sur la catégorie.
  • obtenir la météo avec weather [zip/nom]
  • brancher jseval pour évaluer le javascript, idem pour python et perl et haskell
  • seen commande qui signale la dernière fois que le robot a "vu" une personne en ligne
  • commande translate pour traduire une chaîne de langue X en chaîne de langue Y
  • carte dict à un service de dictionnaire
  • carte wik au service wiki

1voto

Martin Eve Points 1375

Encore une fois, c'est une suggestion tout à fait personnelle, mais j'aimerais vraiment voir eggdrop réécrit en Python.

Un tel projet pourrait utiliser Twisted pour fournir l'interaction IRC de base, mais devrait ensuite supporter les scripts complémentaires.

Ce serait génial pour permettre de construire facilement des fonctionnalités de bot IRC en utilisant python, au lieu de TCL, scripts.

0voto

C'est très subjectif et cela dépend totalement de l'endroit où le robot sera utilisé. Je suis sûr que d'autres auront de bonnes suggestions. Mais quoi que vous fassiez, s'il vous plaît, faites no interroger les utilisateurs de manière arbitraire. Et faire no spammer périodiquement le chat principal.

0voto

Cheery Points 6696

Faites une recherche sur Google pour obtenir une bibliothèque qui implémente le protocole IRC pour vous. De cette façon, vous n'aurez qu'à ajouter les fonctionnalités, qui sont déjà assez nombreuses pour vous gêner.

Fonctions communes :

  • Effectuer une recherche à partir d'un wiki ou de google
  • Informer les gens des mises à jour des projets/problèmes
  • Laissez un message
  • Jouet pour spammer le canal
  • Choisissez un sujet
  • Catégoriser les messages
  • Recherche à partir des journaux des canaux

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X