category feedIRCSpecialised needseditdelete







Tooling to interact with the IRC protocol first defined in RFC 1459 and redefined in RFC 2812/RFC 2813.

edit description
or press Ctrl+Enter to savemarkdown supported
#
irc-client (Hackage)
other
move item up move item down edit item info delete item
Summary edit summary

A library that aims not to provide a full-blown “bot experience”, but some low-level building blocks for IRC clients.

Summary quit editing summary
Prosedit prosquit editing pros
  • Very simple setup
    move trait up move trait down edit trait delete trait
  • Nice types
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Consedit consquit editing cons
  • Event handling is kind of awkward and requires a lot of duplication because of partial handlers.
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Ecosystemedit ecosystem
Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
Notes
collapse notesedit notes

Gotchas

  • Adding defaultEventHandlers to your _eventHandlers is a good idea for basic setup.
  • You can handle every kind of defined server response by using ENumeric and Numeric.
collapse notesedit notes
#
irc-core (Hackage)
other
move item up move item down edit item info delete item
Summary edit summary

Library for parsing and rendering IRC message in a high and low-level format.

Summary quit editing summary
Prosedit prosquit editing pros
  • Parser handles IRCv3 message-tags
    move trait up move trait down edit trait delete trait
  • Permissive parser handles a range of IRC server outputs
    move trait up move trait down edit trait delete trait
  • Support for splitting up MODE arguments
    move trait up move trait down edit trait delete trait
  • Complete list of reply codes
    move trait up move trait down edit trait delete trait
  • Integrates into an existing event loop
    move trait up move trait down edit trait delete trait
  • Offers both low-level and high-level message views
    move trait up move trait down edit trait delete trait

press Ctrl+Enter or Enter to addmarkdown supportededit off
Consedit consquit editing cons

    press Ctrl+Enter or Enter to addmarkdown supportededit off
    Ecosystemedit ecosystem
    • glirc is a console based IRC client that is implemented on top of irc-core
    • irc-core-bot is a simple echo-bot example using irc-core.
    Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
    Notes
    collapse notesedit notes

    <notes are empty>

    add something!

    #
    ircbot (Hackage)
    other
    move item up move item down edit item info delete item
    Summary edit summary

    A library to create an IRC bot, from 2012. It heavily uses Monad Transformers so might not be very beginner friendly.

    Summary quit editing summary
    Prosedit prosquit editing pros
    • Integrates into mtl
      move trait up move trait down edit trait delete trait

    press Ctrl+Enter or Enter to addmarkdown supportededit off
    Consedit consquit editing cons
    • No way to wait for the bot to finish, since the function only returns a ThreadId.
      move trait up move trait down edit trait delete trait
    • Uses irc, which only provides a very thin layer of typing around the IRC protocol, no types for the different kinds of commands for example. You need to read the RFC.
      move trait up move trait down edit trait delete trait

    press Ctrl+Enter or Enter to addmarkdown supportededit off
    Ecosystemedit ecosystem
    Ecosystemquit editing ecosystemor press Ctrl+Enter to savemarkdown supported
    Notes
    collapse notesedit notes

    Discussion

    Profpatsch: I had to drop this library because the composability stops at it only returning a ThreadId. I haven’t found a way how it wants you to integrate further IO.

    collapse notesedit notes