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 deadbash.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 - ...