2010-03-06 6 views
4

J'ai suivi le tutoriel sur le wiki Haskell à propos de i mplementing an IRC bot. et tout s'est bien passé. Mais une fois que j'ai commencé à l'étendre, j'ai réalisé qu'il aurait besoin de répondre aux demandes CTCP des autres utilisateurs pour les commandes comme la version et le ping. Ces commandes fonctionnent pour le serveur mais pas pour le bot. J'ai lu les RFC pour CTCP et IRC clients mais ils ne sont pas très utiles. j'ai fait ce qui suit, mais je ne pense pas que ce soit le message requis:Implémentation de commandes CTCP dans un bot IRC (Haskell)

write "PRIVMSG" (sender++"\001VERSION Haskellbot : v1.0 : GHCi\001") 

Cela ne demande des informations sur la version de l'expéditeur. Alors, comment puis-je mettre en œuvre le message de retour pour les demandes CTCP et les autres demandes CTCP en général?

Répondre

2

regardant de plus près de la rfc CCPC, je l'ai résolu avec:

write "NOTICE" (sender++"\001VERSION Haskellbot : v1.0 : GHCi\001") 
+1

Notez également que c'est une violation du protocole pour répondre automatiquement à un PRIVMSG avec un autre PRIVMSG (et pour répondre automatiquement à un AVIS du tout) - Ces règles sont conçues pour empêcher les boucles de réponse infinies entre les clients. – caf

Questions connexes