2.8.0 - please read upgrade guidance
special note: this release was incorrectly tagged as v2.8.0
(with the v
) - an identical commit tagged 2.8.0
has been added - the release notes here are applicable to both tags.
This is the last version that works with our local forked version of hangups - the next major release (3.0) will only be compatible with the latest official hangups library.
Further info and detailed change logs can be found in #776.
Upgrade guidance
- cleverbot: requires an api key (docs updated)
- autoreply, image_memegenerator, image_links, image_screenshot, image_linker_reddit: if you are using an explicitly defined
plugins
key in config.json, please add theimage
plugin- this version may leave an empty folder
image_linker_reddit
in the plugins dir, containing another empty__pycache
subfolder - you may safely remove this
- this version may leave an empty folder
Known bugs/issues
telesync
:slackrtm
usage of memory.json is semi-broken (long-term issue, re: #797)- interaction issues in multi-relay chats using
telesync
,slackrtm
,syncrooms
,slack
andtelegram
e.g. messages duplication, failed to sync, infinite messaging loops, messages not relayed, etc
general changelog
- framework upgrades
- enhanced
/bot
help- markdown support for command/sub-command help in docstrings
- general help also shows all bot aliases below 9 characters in length
- config
auto_alias_one_to_one
turns off botalias requirement in direct bot chats (default: false) - hidden plugin visibility when using manual plugins configuration key
pluginmanager
commands now part of plugin control commands; outputs actions taken when run- updated installation guide
- docker example
- per-conversation opt-out
- optional parameter
<convid|partial conv title>
matching a single group conversation - converts user global opt-out flag into list of per-conversations opt-outs: listed conversations won't receive alerts from participating plugins
- dev note: 1-to-1 becomes invisible to the initiating conversation
- toggle per-conversation opt-outs by calling
/bot optout <convid|partial conv title>
again - behaviour of parameterless
/bot optout
is unchanged until user successfully adds first per-conversation opt-out; to quick-convert per-conversation opt-outs back to a global opt-out, use/bot optout all
- optional parameter
- change tagging return behaviour with tag
tagging-merge
- instead of exclusively using the highest-specificity conv/user tag, merge the entire chain from most-specific (e.g<convid>|<chatid>
) to least specific (global conv/user wildcard*
)
- enhanced
- new plugin
- image: implements shared functionality via
bot.call_shared()
:image_validate_link
,image_upload_single
,image_upload_raw
,image_validate_and_upload_single
(docs
- image: implements shared functionality via
- plugin enhancements
- autoreply
- override default behaviour of per-conv autoreplies completely overriding global autoreplies and merge them instead with any of the following methods:
/bot tagset conv <conv_id> autoreplies-merge
/bot tagset conv * autoreplies-merge
+/bot tagset conv * tagging-merge
(optional, merges all tag from per-conversation to wildcards to global)- config key
"autoreplies.merge": true
to switch on global merging
- shared functionality with tldr plugin: insert
{tldr}
into a response to inject the target conversation's TLDR text into autoreply response
- override default behaviour of per-conv autoreplies completely overriding global autoreplies and merge them instead with any of the following methods:
- botalive: "fuzzy" watermarking, runs only when conversation active
- default: by default config outputs to one-to-one
- image_linker_reddit: improved gfycat support, latest trigger words
- image_memegenerator: integration with public api
- mentions: support per-conversation opt-out
- restrictedadd: strict botkeeper checks can be disabled with
/bot tagset conv <convid> restrictedadd-whitelist
- this tag overrides globalstrict_botkeeper_check
- spawn: location links can be injected as environment variable
- subscribe
- support per-conversation opt-out
- add admin command
/bot testsubscribe <keyword>
to trigger your own subscriptions
- autoreply
- internal fixes for plugins: botaddnotif, cleverbot, forwarding, restrictedadd, slackrtm, syncrooms, subscribe, tldr
- plugin folder migration
- unittest - all
_unittest_*.py
moved to_unittest/unittest_*.py
- example - all
_example_*.py
moved to_example/example_*.py
- image - all
image_*.py
moved toimage/image_*.py
- unittest - all
- localisation updated to latest, based on the hangoutsbot translation project
- version bump to 2.8.0