Changes between 3.2.0 and 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. .commandsnow 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/modulesby default, if installed. - The home directory, usually
~/.willie, can now be configured by adding
homedirunder[core] - The location of PID files can now be configured by adding
pid_dirunder
[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
unicodeobjects - Decorators were introduced for setting attributes on callables, available in
willie.module - The
NOLIMITreturn value was moved from theWillieclass to
willie.module - Callables with the same name in different modules no longer override each
other willie.channelsis 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()andwillie.say(). See
documentation for details. - Added interval callable support (see documentation for details)
- Numerous minor features, and stability and usability fixes