Fork me on GitHub

Sopel

The Python IRC Bot

Version 4.0.0

Module changes

  • The following modules have been moved to the willie-extras repository:
    • ai
    • bucket
    • fuckingweather
    • nws
    • roulette
    • twit
    • slap
    • oblique
  • The information of the last URL seen in a channel can now be replayed with .title
  • The YouTube module was reworked to use the YouTube JSON API
  • The IP module is now independent of 3rd party services, and requires a local copy of the (free) GeoLite database. If such database is not installed, Willie will download it automatically.
  • .commands now gives better output (no more truncated output due to message length limit)
  • Added a unit conversion module
  • Better handling for non-Unicode page titles in the URL titler
  • Removed bing support from search
  • Various minor improvements and bugfixes across all modules

Core changes

  • Module discovery was reworked. Willie will now try to load additional modules from ~/.willie/modules by default, if installed.
  • The home directory, usually ~/.willie, can now be configured by adding homedir under [core]
  • The location of PID files can now be configured by adding pid_dir under [core]
  • Willie can now be run as a systemd service
  • Case sensitivity in nick blocking is fixed
  • Better handling of ping timeouts (connection problems)
  • Major code cleanup

API changes

  • Improved Unicode UTF-8 support across all codepaths
  • Triggers, and the appropriate attributes thereof, are now unicode objects
  • Decorators were introduced for setting attributes on callables, available in willie.module
  • The NOLIMIT return value was moved from the Willie class to willie.module
  • Callables with the same name in different modules no longer override each other
  • willie.channels is now properly maintained
  • trigger.isvoice can now be used to determine if a user has voice privileges
  • Added the max_messages parameter for willie.msg() and willie.say(). See documentation for details.
  • Added interval callable support (see documentation for details)
  • Numerous minor features, and stability and usability fixes