Classes, modules, design IRC bot

Classes, modules, design IRC bot - Ruby/Rails - Programmation

Marsh Posté le 02-11-2019 à 17:19:40    

Salut !
 
Je m'amuse à faire un bot IRC et je me pose la question de comment faire pour gérer tous les messages que je reçois (qui sont des événements) à la sauce Ruby.
 
en gros chaque message à un type (JOIN, PASS, QUIT ...)
chaque message à des attributs équivalents (Provenance, cible)
 
comment rajouter des fonctionnalités selon le type du message
 
pour le moment, je fais un truc de ce genre  
 

Code :
  1. module IRC
  2.   module Messages
  3.     class Message
  4.       # base class
  5.     end
  6.     class Join < Message
  7.       def channel
  8.       end
  9.     end
  10.     class Quit < Message
  11.       def reason
  12.       end
  13.     end
  14.   end
  15. end
  16. # parse un message irc et instancie la classe appropriée en fonction de la commande du message.
  17. command = "Quit"
  18. if Imbot::Messages.const_defined?(command)
  19.   klass = Imbot::Messages.const_get(command)
  20.   klass.new
  21. end


 
Mais est ce une bonne idée d'utiliser const_defined/get?
 
Y a t'il une méthode plus propre ou efficace pour faire ce genre de choses?
en utilisant des modules par exemple pour chaque commande?
 
toute idée est la bienvenue, merci d'avance  :hello:  

Reply

Marsh Posté le 02-11-2019 à 17:19:40   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed