Skip to content

v3.14.159

Latest
Compare
Choose a tag to compare
@zorael zorael released this 27 Jan 20:41
e24619a

The pi release.

The library used to make secure HTTPS queries was changed from arsd-official:http to requests. Regrettably, the latter does not have the ability to fetch cryptographic certificates from the Windows registry, so Windows users now require a certificate bundle file for some plugins to function well (or at all). One can be downloaded with the --get-cacert command-line flag. (This flag has been in place for ages, but now it's relevant again.)

For a one-time Windows setup, call the program with --get-openssl --get-cacert.

This release also merges the self-test suite, which previously lived in a separate branch. Compiling the selftest dub configuration now adds a method selftest to the IRCPlugin class, which proxies calls to plugin modules' top-level .selftest, where available. The point is to have plugins test themselves, by sending messages to a second bot and verifying the responses. A selftest command to start the process was added to the Admin plugin.

  • Improved the --setup-twitch experience
  • (Windows) --get-openssl now downloads OpenSSL 3.2 instead of OpenSSL 1.1
  • Fixed Twitch 7tv custom emotes failing to import due to API endpoint changes
  • Added import of global FrankerFaceZ emotes
  • Custom emote imports are now staggered so as to hopefully not trigger rate-limiting measures
  • Largely rewrote the Webtitle plugin to work more like the Twitch plugin with regards to threading HTTP queries
  • Added support for specifying a time precision to use when reporting quotes
  • Rewrote the Bash plugin to use the bashforever.com clone site, instead of the seemingly dead bash.org original
  • Refactored some disable this(this) structs into classes
  • Raised Twitch-related API retry delay to 4 seconds, up from 1. Additionally, some queries now retry endlessly instead of giving up after 10 failures.
  • Twitch custom emotes are now highlighted in messages replied to. Normal emotes are not, for technical reasons.
  • Added the ability to explicitly include and/or exclude entire event types from being printed to the terminal, by use of comma-separated type names passed with --set printer.{include,exclude}=.... Gated behind debug (and/or version Debug).
  • Added Twitch command !subs; reports how many subscribers the current channel has
  • Fixed Twitch !vanish and !nuke not working due to the removal of the .timeout and .delete chat commands -- API calls must now be made instead
  • Fixed the ability to send Twitch whispers, similarly broken by the removal of the .w chat command
  • The Twitch plugin now uses a configurable number of concurrent worker threads, default 3
  • The Webtitle plugin now uses a configurable number of concurrent worker threads, default 3
  • What channels the bot is currently in now carries across reconnects
  • Disconnecting no longer suspends polls' durations; they now end at the end time, regardless of how much of the duration was spent offline
  • Fixed blacklisted users being incorrectly filtered despite a Permissions of .ignore
  • Channel-rejoining behaviour on reconnects/reexecs is now configurable as connect.rejoinBehaviour
  • Added ability to modify already existing timers by use of !timer modify
  • Added ability to modify already existing oneliners by use of !oneliner modify
  • Added ability to make aliases of oneliners by use of !oneliner alias, which creates a oneliner that transparently resolves to a different one
  • Updated dialect dependency to v2.2.0
  • Updated lu dependency to v2.2.0
  • Updated requests dependency to v2.1.3
  • ...