packages feed

rss2irc-0.4: rss2irc.cabal

name:                rss2irc
version:             0.4
homepage:            http://hackage.haskell.org/package/rss2irc
license:             BSD3
license-file:        LICENSE
author:              Don Stewart <dons@galois.com>, Simon Michael <simon@joyful.com>
maintainer:          Simon Michael <simon@joyful.com>
category:            Network
synopsis:            Watch an RSS/Atom feed and write it to an IRC channel
description:         
 This bot polls a single RSS or Atom feed and announces updates to an
 IRC channel, with options for customizing output and behavior. It
 aims to be a simple, dependable bot that does its job and creates no
 problems.
 .
 > Usage: rss2irc FEEDURL [BOTNAME@IRCSERVER/#CHANNEL] [OPTS]
 > Options:
 >
 >   -p PORT  --port=PORT                   irc server port (default 6667)
 >            --ident=STR                   set the bot's identity string (useful for contact info)
 >            --delay=N                     wait for N minutes before starting (helps avoid mass joins)
 >   -i N     --interval=N                  polling interval in minutes (default 5)
 >            --idle=N                      announce only when channel has been idle N minutes (default 0)
 >   -m N     --max-items=N                 announce at most N items per polling interval (default 5)
 >   -r N     --recent=N                    announce up to N recent items at startup (default 0)
 >            --announce=topnew|allnew|top  which items to announce (default: topnew)
 >            --no-title                    don't show title (title is announced by default, up to 100 chars)
 >   -a       --author                      show author (up to 50 chars)
 >   -d       --description                 show description (up to 300 chars)
 >   -l       --link                        show link URL (up to 200 chars)
 >   -t       --time                        show timestamp (up to 50 chars)
 >   -e       --email                       show email addresses (stripped by default)
 >   -h       --html                        show HTML tags and entities (stripped by default)
 >            --dupe-descriptions           show identical consecutive descriptions (elided by default)
 >            --replace="OLD/NEW"           replace OLD with NEW (regexpr patterns)
 >   -n N     --num-iterations=N            exit after N iterations
 >   -q       --quiet                       silence normal console output
 >            --debug                       do not connect to irc (same as no irc argument)
 >            --debug-irc                   show irc activity
 >            --debug-feed                  show feed items and polling stats
 >            --debug-xml                   show feed content
 >            --debug-http                  show feed fetching progress
 > Options:
 >
 >   -p PORT  --port=PORT          irc server port (default 6667)
 >            --ident=STR          set the bot's identity string (useful for contact info)
 >            --delay=N            wait for N seconds before starting (helps avoid mass joins)
 >   -i N     --interval=N         polling interval in minutes (default 5)
 >   -r N     --recent=N           announce up to N recent items at startup (default 0)
 >   -m N     --max-items=N        announce at most N items per polling interval (default 5)
 >            --no-title           don't show title (title is announced by default)
 >   -a       --author             show author
 >   -d       --description        show description
 >   -l       --link               show link URL
 >   -t       --time               show timestamp
 >   -e       --email              show email addresses (these are stripped by default)
 >   -h       --html               show HTML tags and entities (these are stripped by default)
 >            --replace="OLD/NEW"  replace OLD with NEW (regexpr patterns)
 >   -n N     --num-iterations=N   exit after N iterations
 >   -q       --quiet              silence normal console output
 >            --debug              do not connect to irc
 >            --debug-irc          show irc activity
 >            --debug-feed         show feed items and polling stats
 >            --debug-xml          show feed content
 >            --debug-http         show feed fetching progress
 .
 For example, to announce Hackage updates:
 .
 > rss2irc http://hackage.haskell.org/packages/archive/recent.rss mybot@irc.freenode.org/#haskell
 .
 Release notes for 0.4, 2009/09/25:
 .
 * wait for server connection confirmation before JOIN command.
  Problem was observed on irc.quakenet.org since it refuses
  to join or any commands before connection is confirmed by server. (Radoslav Dorcik)
 .
 * feed polling now recovers from transient failures
 .
 * can poll a local file: uri as well as remote uris
  Works if the uri is of the form "file:FILE", at least. Useful for testing
  and eg for announcing a feed generated from a darcs posthook.
 .
 * more robust new item detection, with some alternate strategies
   available via the --announce option. The choices are:
    topnew - new unseen items at the top (default, good for most feeds);
    allnew - new unseen items anywhere
    top    - any items above the previous top item.
 .
 * --idle option, waits for N minutes of channel idle time before announcing
 .
 * --delay now takes minutes, not seconds
 .
 * limit individual field sizes, preventing too many irc messages per item
  Most announcements should now fit in one irc message, and pretty much all
  should fit in two.
 .
 * misc. announcement output improvements: elide identical consecutive
   item descriptions, split long announcements on a word boundary, try
   to complete a split announcement within a batch, better whitespace
   handling
 .
 * logging improvements
 .
stability:           experimental
tested-with:         GHC==6.8, GHC==6.10
cabal-version:       >= 1.6
build-type:          Simple

executable rss2irc
    main-is:         rss2irc.hs
    ghc-options:     -Wall -fno-warn-orphans
    build-depends:
                     base                  >= 3 && < 5,
                     extensible-exceptions >= 0.1 && < 0.2,
                     feed                  >= 0.3 && < 0.4,
                     haskell98,
                     HTTP                  >= 4000.0.3 && < 4000.1,
                     irc                   >= 0.4 && < 0.5,
                     mtl                   >= 1.1 && < 1.2,
                     network               >= 2.2 && < 2.3,
                     parallel              >= 1.1 && < 1.2,
                     regexpr               >= 0.5 && < 0.6,
                     split                 >= 0.1 && < 0.2,
                     strict-concurrency    >= 0.2 && < 0.3,
                     tagsoup               >= 0.6 && < 0.7,
                     time                  >= 1.1 && < 1.2

source-repository head
  type:     darcs
  location: http://joyful.com/repos/rss2irc