errbot 6.1.8__tar.gz → 6.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {errbot-6.1.8 → errbot-6.2.0}/CHANGES-4x.rst +1 -1
- {errbot-6.1.8 → errbot-6.2.0}/CHANGES-5x.rst +2 -2
- {errbot-6.1.8 → errbot-6.2.0}/CHANGES-pre-v4.rst +7 -7
- {errbot-6.1.8 → errbot-6.2.0}/CHANGES.rst +89 -1
- {errbot-6.1.8/errbot.egg-info → errbot-6.2.0}/PKG-INFO +126 -21
- {errbot-6.1.8 → errbot-6.2.0}/README.rst +8 -10
- {errbot-6.1.8 → errbot-6.2.0}/errbot/__init__.py +10 -7
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backend_plugin_manager.py +7 -4
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/base.py +27 -19
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/irc.py +89 -58
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/telegram_messenger.py +54 -37
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/test.py +110 -52
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/text.py +80 -32
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/xmpp.py +60 -47
- {errbot-6.1.8 → errbot-6.2.0}/errbot/bootstrap.py +34 -21
- {errbot-6.1.8 → errbot-6.2.0}/errbot/botplugin.py +25 -25
- {errbot-6.1.8 → errbot-6.2.0}/errbot/cli.py +13 -8
- {errbot-6.1.8 → errbot-6.2.0}/errbot/config-template.py +80 -82
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core.py +77 -48
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/acls.py +8 -1
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/chatRoom.py +0 -1
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/cnf_filter.py +1 -1
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/flows.py +2 -1
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/help.py +5 -5
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/plugins.py +20 -21
- errbot-6.2.0/errbot/core_plugins/templates/webserver.md +5 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/textcmds.py +0 -2
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/utils.py +0 -1
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/vcheck.py +1 -4
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/webserver.py +10 -8
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/wsview.py +0 -1
- {errbot-6.1.8 → errbot-6.2.0}/errbot/flow.py +14 -12
- {errbot-6.1.8 → errbot-6.2.0}/errbot/logs.py +5 -2
- {errbot-6.1.8 → errbot-6.2.0}/errbot/plugin_manager.py +68 -31
- {errbot-6.1.8 → errbot-6.2.0}/errbot/plugin_wizard.py +14 -11
- {errbot-6.1.8 → errbot-6.2.0}/errbot/repo_manager.py +11 -9
- {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/__init__.py +12 -3
- {errbot-6.1.8 → errbot-6.2.0}/errbot/streaming.py +7 -4
- errbot-6.2.0/errbot/templates/initdir/config.py.tmpl +19 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/templates/initdir/example.plug +1 -1
- {errbot-6.1.8 → errbot-6.2.0}/errbot/templates/initdir/example.py +1 -1
- {errbot-6.1.8 → errbot-6.2.0}/errbot/templates/new_plugin.py.tmpl +10 -9
- {errbot-6.1.8 → errbot-6.2.0}/errbot/templating.py +9 -5
- {errbot-6.1.8 → errbot-6.2.0}/errbot/utils.py +15 -6
- {errbot-6.1.8 → errbot-6.2.0}/errbot/version.py +1 -1
- {errbot-6.1.8 → errbot-6.2.0/errbot.egg-info}/PKG-INFO +126 -21
- {errbot-6.1.8 → errbot-6.2.0}/errbot.egg-info/SOURCES.txt +2 -6
- {errbot-6.1.8 → errbot-6.2.0}/errbot.egg-info/entry_points.txt +0 -1
- errbot-6.2.0/errbot.egg-info/requires.txt +36 -0
- {errbot-6.1.8 → errbot-6.2.0}/setup.cfg +1 -6
- {errbot-6.1.8 → errbot-6.2.0}/setup.py +35 -30
- errbot-6.1.8/errbot/backends/hipchat.plug +0 -6
- errbot-6.1.8/errbot/backends/hipchat.py +0 -687
- errbot-6.1.8/errbot/backends/slack.plug +0 -6
- errbot-6.1.8/errbot/backends/slack.py +0 -1404
- errbot-6.1.8/errbot/backends/slack_rtm.plug +0 -6
- errbot-6.1.8/errbot/backends/slack_rtm.py +0 -1355
- errbot-6.1.8/errbot/templates/initdir/config.py.tmpl +0 -16
- errbot-6.1.8/errbot.egg-info/requires.txt +0 -42
- {errbot-6.1.8 → errbot-6.2.0}/COPYING +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/MANIFEST.in +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/__init__.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/images/errbot-bg.svg +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/images/errbot.svg +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/images/prompt.svg +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/irc.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/null.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/null.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/styles/style-demo.css +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/styles/style.css +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/telegram_messenger.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/test.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/text.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/xmpp.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/__init__.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/acls.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/backup.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/backup.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/chatRoom.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/cnf_filter.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/flows.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/health.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/health.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/help.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/plugins.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/about.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/plugin_info.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/repos.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/repos2.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/status.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/status_gc.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/status_load.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/status_plugins.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/webstatus.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/test.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/textcmds.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/utils.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/vcheck.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/webserver.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/plugin_info.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/rendering/__init__.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/rendering/ansiext.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/rendering/xhtmlim.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/base.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/memory.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/memory.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/shelf.plug +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/shelf.py +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot/templates/card.md +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot.egg-info/dependency_links.txt +0 -0
- {errbot-6.1.8 → errbot-6.2.0}/errbot.egg-info/top_level.txt +0 -0
|
@@ -71,7 +71,7 @@ features:
|
|
|
71
71
|
|
|
72
72
|
fixes:
|
|
73
73
|
|
|
74
|
-
- fixed
|
|
74
|
+
- fixed importlib/use pip as process (#835) (thx Raphael Wouters)
|
|
75
75
|
- if pip is not found, don’t crash errbot
|
|
76
76
|
- build_identifier to send message to IRC channels (thx mr Shu)
|
|
77
77
|
|
|
@@ -19,7 +19,7 @@ features:
|
|
|
19
19
|
Honig)
|
|
20
20
|
- Add support for specifying a custom log formatter (Thx Oz Linden)
|
|
21
21
|
- Add Sentry transport support (thx Dylan Page)
|
|
22
|
-
- File
|
|
22
|
+
- File transfer support (send_stream_request) on the Hipchat backend
|
|
23
23
|
(thx Brad Payne)
|
|
24
24
|
- Show user where they are in a flow (thx Elijah Roberts)
|
|
25
25
|
- Help commands are sorted alphabetically (thx Fabian Chong)
|
|
@@ -35,7 +35,7 @@ fixes:
|
|
|
35
35
|
- Windows: Config directories as raw string (Thx defAnfaenger)
|
|
36
36
|
- Windows: Repo Manager first time update (Thx Jake Shadle)
|
|
37
37
|
- Slack: fix Slack identities to be hashable
|
|
38
|
-
- Hipchat: fix
|
|
38
|
+
- Hipchat: fix HipChat Server XMPP namespace (Thx Antti Palsola)
|
|
39
39
|
- Hipchat: more aggressive cashing of user list to avoid API quota
|
|
40
40
|
exceeds (thx Roman)
|
|
41
41
|
|
|
@@ -180,7 +180,7 @@ Minor improvements
|
|
|
180
180
|
~~~~~~~~~~~~~~~~~~
|
|
181
181
|
|
|
182
182
|
- hipchat endpoint can be used (#348)
|
|
183
|
-
- XMPP server parameter can be
|
|
183
|
+
- XMPP server parameter can be overridden
|
|
184
184
|
- deep internal reorganisation of the bot: the most visible change is that internal commands have been split into internal plugins.
|
|
185
185
|
- IRC backend: we have now a reconnection logic on disconnect and on kick (see ``IRC_RECONNECT_ON_DISCONNECT`` in the config file for example)
|
|
186
186
|
|
|
@@ -269,7 +269,7 @@ features:
|
|
|
269
269
|
- third party backends (they are plugins too)
|
|
270
270
|
- completely revamped backup/restore feature.
|
|
271
271
|
- hipchat endpoint can be used (#348)
|
|
272
|
-
- XMPP server parameter can be
|
|
272
|
+
- XMPP server parameter can be overridden
|
|
273
273
|
- Identifiers are now generic (not tight to XMPP anymore)
|
|
274
274
|
|
|
275
275
|
fixes:
|
|
@@ -308,7 +308,7 @@ features:
|
|
|
308
308
|
|
|
309
309
|
- New serverless tox backend (see http://tox.im for more info)
|
|
310
310
|
- New Presence callbacks with status messages etc.
|
|
311
|
-
- New file
|
|
311
|
+
- New file transfer support (upload and downloads) for selected backends
|
|
312
312
|
- New MUC management API
|
|
313
313
|
- added err-githubhook to the official repo list (thx Daniele Sluijters)
|
|
314
314
|
- added err-linksBot to the official repo list (thx Arnaud Vazard)
|
|
@@ -402,7 +402,7 @@ features:
|
|
|
402
402
|
- Added the !room create command for adhoc room creation (google talk)
|
|
403
403
|
- Added sedbot to the official repos
|
|
404
404
|
- Added support for plugin based webviews
|
|
405
|
-
- Add err-
|
|
405
|
+
- Add err-aggressive-keepalive to the official repos
|
|
406
406
|
- Allow botcmd's to yield values
|
|
407
407
|
- Allow configuration of MESSAGE_SIZE_LIMIT
|
|
408
408
|
|
|
@@ -430,7 +430,7 @@ features:
|
|
|
430
430
|
- SSL support for webhook callbacks
|
|
431
431
|
- JID unicode support
|
|
432
432
|
- Per user command history (Thanks to Leonid S. Usov https://github.com/leonid-s-usov)
|
|
433
|
-
- HIDE_RESTRICTED_COMMANDS option added to filter out the non
|
|
433
|
+
- HIDE_RESTRICTED_COMMANDS option added to filter out the non accessible commands from the help (Thanks to Leonid S. Usov https://github.com/leonid-s-usov)
|
|
434
434
|
- err-markovbot has been added to the official plugins list (Thanks to Max Wagner https://github.com/MaxWagner)
|
|
435
435
|
- the version parsing now supports beta, alpha, rc etc ... statuses
|
|
436
436
|
|
|
@@ -508,7 +508,7 @@ fixes:
|
|
|
508
508
|
|
|
509
509
|
- bot initiated messages were not correctly callbacked on jabber backend
|
|
510
510
|
- !apropos was generating an unicode error thx to https://github.com/zoni for the fix
|
|
511
|
-
- corrected a
|
|
511
|
+
- corrected a series of issues related to the sharedmiddleware on flask
|
|
512
512
|
- fixed a regression on the IRC backend thx to https://github.com/nvdk for helping on those
|
|
513
513
|
|
|
514
514
|
features:
|
|
@@ -597,7 +597,7 @@ fixes:
|
|
|
597
597
|
- corrected a threading issue that was preventing err to quit
|
|
598
598
|
- the python shebangs lines where not generic
|
|
599
599
|
- the config path is not inserted first so we don't conflict with other installs
|
|
600
|
-
- corrected a corruption of the configs on some
|
|
600
|
+
- corrected a corruption of the configs on some persistence stores on shutdown
|
|
601
601
|
|
|
602
602
|
features:
|
|
603
603
|
|
|
@@ -1,3 +1,91 @@
|
|
|
1
|
+
v6.2.0 (2024-01-01)
|
|
2
|
+
-------------------
|
|
3
|
+
|
|
4
|
+
breaking:
|
|
5
|
+
|
|
6
|
+
- backend/slack: remove slack and slack_rtm built-in backends (#1581)
|
|
7
|
+
- core/logging: deprecate SENTRY_TRANSPORT config (#1604)
|
|
8
|
+
- core: removing py37 support (#1652)
|
|
9
|
+
|
|
10
|
+
features:
|
|
11
|
+
|
|
12
|
+
- core/plugins: detect plugins using entrypoints (#1590)
|
|
13
|
+
- core/logging: add new SENTRY_OPTIONS config (#1597)
|
|
14
|
+
- core/plugins: make slack, mattermost and discord backends available as install requirements (#1611)
|
|
15
|
+
|
|
16
|
+
fixes:
|
|
17
|
+
|
|
18
|
+
- docs: add unreleased section (#1576)
|
|
19
|
+
- docs: update broken URL for Markdown Extra (#1572)
|
|
20
|
+
- chore: bump actions/setup-python version (#1575, #1593, #1609, #1626, #1642, #1650, #1659, #1674)
|
|
21
|
+
- backend/telegram: fix missing imports (#1574)
|
|
22
|
+
- chore: ci improvements (#1577, #1583)
|
|
23
|
+
- chore: add docs build to ci (#1582)
|
|
24
|
+
- backend/xmpp: fix forward type references (#1578)
|
|
25
|
+
- chore: remove campfire references (#1584)
|
|
26
|
+
- chore/setup: fix exception when installing on python <3.7 (#1585)
|
|
27
|
+
- docs: typos (#1589, #1594)
|
|
28
|
+
- chore: simplify isort config using black (#1595)
|
|
29
|
+
- fix: detecting entrypoint module paths (#1603)
|
|
30
|
+
- chore: fix Docker build to use local tree (#1608)
|
|
31
|
+
- chore: bump actions/checkout version (#1610, #1625, #1637, #1644, #1653, #1656, #1658, #1663)
|
|
32
|
+
- docs: link to external Discord plugin documentation (#1615)
|
|
33
|
+
- chore: add ARG to Dockerfile and add proper stop signal (#1613)
|
|
34
|
+
- fix: update module versions and build (#1627)
|
|
35
|
+
- chore: update setuptools version (#1628)
|
|
36
|
+
- refactor: detecting entry point plugins (#1630)
|
|
37
|
+
- chore: bump mr-smithers-excellent/docker-build-push version (#1633)
|
|
38
|
+
- docs: fix example code in the testing section (#1643)
|
|
39
|
+
- chore: update all core dependencies (#1651)
|
|
40
|
+
- fix: use template file for webserver plugin echo output (#1654)
|
|
41
|
+
- chore: update repos.json (#1660)
|
|
42
|
+
- docs: add readthedocs yaml config (#1661)
|
|
43
|
+
- fix: broken integration tests (#1668)
|
|
44
|
+
- style: replace format() with f-strings (#1667)
|
|
45
|
+
- migrate from external mock package to stdlib unittest.mock (#1673)
|
|
46
|
+
- fix: import of Mapping from collections.abc (#1675)
|
|
47
|
+
- backend: update irc, telegram and xmpp dependencies (#1655)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
v6.1.9 (2022-06-11)
|
|
51
|
+
-------------------
|
|
52
|
+
|
|
53
|
+
features:
|
|
54
|
+
|
|
55
|
+
- core: set default backend to Text (#1522)
|
|
56
|
+
- core: option to divert all commands to private or thread (#1528)
|
|
57
|
+
- core: add type hints to core and backend functions (#1542)
|
|
58
|
+
- docs: add ACL and numerous backends to official documentation (#1552)
|
|
59
|
+
- core: add Python 3.10 to automated tests (#1539)
|
|
60
|
+
- core: add room acl attribute (#1530)
|
|
61
|
+
- chore: refactor Dockerfile errbot install and python version bump (#1571)
|
|
62
|
+
|
|
63
|
+
fixes:
|
|
64
|
+
|
|
65
|
+
- core: success handling for update_repos (#1520)
|
|
66
|
+
- core/plugins: cascade dependency plugins (#1519)
|
|
67
|
+
- core/plugins: reload all repo plugins when updating a repo (#1521)
|
|
68
|
+
- plugin_manager: correct syntax error (#1524)
|
|
69
|
+
- backend/text: add stub send_stream_request method (#1527)
|
|
70
|
+
- backend/hipchat: remove HipChat backend (#1525)
|
|
71
|
+
- backend/test: shutdown sequence to address test failure (#1535)
|
|
72
|
+
- core: various minor logging improvements (#1536)
|
|
73
|
+
- chore: various minor formatting improvements (#1541)
|
|
74
|
+
- docs: update spark plugin reference (#1546)
|
|
75
|
+
- fix: python 2 version references in docs and init template (#1543)
|
|
76
|
+
- backends: deprecate built-in Slack and SlackRTM (#1526)
|
|
77
|
+
- chore: remove python 3.6 checks and test environment (#1540)
|
|
78
|
+
- chore: add/update issue templates (#1554)
|
|
79
|
+
- chore: pin all package dependencies (#1553, #1559)
|
|
80
|
+
- core/webserver: use errbot loglevel for consistent logging. (#1556)
|
|
81
|
+
- fix/core: prevent infinite loop when only BOT_PREFIX is passed (#1557)
|
|
82
|
+
- chore: bump actions/setup-python from 2 to 3.1.0 (#1563)
|
|
83
|
+
- chore: Set permissions for GitHub actions (#1565)
|
|
84
|
+
- fix: removed deprecated argument reconnection_interval for irc v20.0 (#1568)
|
|
85
|
+
- docs: Add Gentoo packages (#1567)
|
|
86
|
+
- chore: bump actions/setup-python from 3.1.0 to 3.1.2 (#1564)
|
|
87
|
+
- fix: circular dependencies error when there are none (#1505)
|
|
88
|
+
|
|
1
89
|
v6.1.8 (2021-06-21)
|
|
2
90
|
-------------------
|
|
3
91
|
|
|
@@ -13,7 +101,7 @@ features:
|
|
|
13
101
|
fixes:
|
|
14
102
|
|
|
15
103
|
- core/cli: failure when passing relative directory during --init (#1511)
|
|
16
|
-
- backend/xmpp: include message delayed for send/
|
|
104
|
+
- backend/xmpp: include message delayed for send/received messages (#1270)
|
|
17
105
|
- backend/xmpp: "unexpected keyword argument 'wait'" when connecting (#1507)
|
|
18
106
|
- docs: update broken readme link to plugin development docs (#1504)
|
|
19
107
|
- close threadpool on exit (#1486)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: errbot
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.2.0
|
|
4
4
|
Summary: Errbot is a chatbot designed to be simple to extend with plugins written in Python.
|
|
5
5
|
Home-page: http://errbot.io/
|
|
6
6
|
Author: errbot.io
|
|
@@ -14,18 +14,39 @@ Classifier: Topic :: Communications :: Chat :: Internet Relay Chat
|
|
|
14
14
|
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
|
|
15
15
|
Classifier: Operating System :: OS Independent
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.6
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
19
17
|
Classifier: Programming Language :: Python :: 3.8
|
|
20
18
|
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
20
|
Description-Content-Type: text/x-rst
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
License-File: COPYING
|
|
22
|
+
Requires-Dist: webtest==3.0.0
|
|
23
|
+
Requires-Dist: setuptools==68.1.2
|
|
24
|
+
Requires-Dist: flask==2.3.3
|
|
25
|
+
Requires-Dist: requests==2.31.0
|
|
26
|
+
Requires-Dist: jinja2==3.1.2
|
|
27
|
+
Requires-Dist: pyOpenSSL==23.2.0
|
|
28
|
+
Requires-Dist: colorlog==6.7.0
|
|
29
|
+
Requires-Dist: markdown==3.4.4
|
|
30
|
+
Requires-Dist: ansi==0.3.6
|
|
31
|
+
Requires-Dist: Pygments==2.16.1
|
|
32
|
+
Requires-Dist: pygments-markdown-lexer==0.1.0.dev39
|
|
33
|
+
Requires-Dist: dulwich==0.21.5
|
|
34
|
+
Requires-Dist: deepmerge==1.1.0
|
|
24
35
|
Provides-Extra: slack
|
|
25
|
-
|
|
36
|
+
Requires-Dist: errbot-backend-slackv3==0.2.1; extra == "slack"
|
|
37
|
+
Provides-Extra: discord
|
|
38
|
+
Requires-Dist: err-backend-discord==3.0.1; extra == "discord"
|
|
39
|
+
Provides-Extra: mattermost
|
|
40
|
+
Requires-Dist: err-backend-mattermost==3.0.0; extra == "mattermost"
|
|
41
|
+
Provides-Extra: irc
|
|
42
|
+
Requires-Dist: irc==20.3.0; extra == "irc"
|
|
26
43
|
Provides-Extra: telegram
|
|
27
|
-
|
|
28
|
-
|
|
44
|
+
Requires-Dist: python-telegram-bot==13.15; extra == "telegram"
|
|
45
|
+
Provides-Extra: xmpp
|
|
46
|
+
Requires-Dist: slixmpp==1.8.4; extra == "xmpp"
|
|
47
|
+
Requires-Dist: pyasn1==0.5.0; extra == "xmpp"
|
|
48
|
+
Requires-Dist: pyasn1-modules==0.3.0; extra == "xmpp"
|
|
49
|
+
Requires-Dist: daemonize==2.5.0; sys_platform != "win32"
|
|
29
50
|
|
|
30
51
|
.. image:: https://errbot.readthedocs.org/en/latest/_static/errbot.png
|
|
31
52
|
:target: http://errbot.io
|
|
@@ -72,17 +93,15 @@ Chat servers support
|
|
|
72
93
|
**Built-in**
|
|
73
94
|
|
|
74
95
|
- IRC support
|
|
75
|
-
- `Hipchat support <http://www.hipchat.com/>`_
|
|
76
|
-
- `Slack support <https://slack.com/>`_
|
|
77
96
|
- `Telegram support <https://www.telegram.org/>`_
|
|
78
97
|
- `XMPP support <http://xmpp.org>`_
|
|
79
98
|
|
|
80
99
|
**With add-ons**
|
|
81
100
|
|
|
82
|
-
- `
|
|
83
|
-
- `
|
|
84
|
-
- `Discord <https://www.discordapp.com/>`_ (See `instructions <https://github.com/gbin/err-backend-discord>`__)
|
|
101
|
+
- `Slack support <https://slack.com/>`_ (See `instructions <https://github.com/errbotio/err-backend-slackv3>`__)
|
|
102
|
+
- `Discord <https://www.discordapp.com/>`_ (See `instructions <https://github.com/errbotio/err-backend-discord>`__)
|
|
85
103
|
- `Gitter support <https://gitter.im/>`_ (See `instructions <https://github.com/errbotio/err-backend-gitter>`__)
|
|
104
|
+
- `Webex <https://www.webex.com/>`_ (See `instructions <https://github.com/marksull/err-backend-cisco-webex-teams>`__)
|
|
86
105
|
- `Mattermost <https://about.mattermost.com/>`_ (See `instructions <https://github.com/Vaelor/errbot-mattermost-backend>`__)
|
|
87
106
|
- `RocketChat <https://rocket.chat/>`_ (See `instructions <https://github.com/cardoso/errbot-rocketchat>`__)
|
|
88
107
|
- `Skype <https://www.skype.com/>`_ (See `instructions <https://github.com/errbotio/errbot-backend-skype>`__)
|
|
@@ -110,14 +129,14 @@ Developer features
|
|
|
110
129
|
- Presetup storage for every plugin i.e. ``self['foo'] = 'bar'`` persists the value.
|
|
111
130
|
- Conversation flows to track conversation states from users.
|
|
112
131
|
- Webhook callbacks support
|
|
113
|
-
- supports `markdown extras <https://
|
|
132
|
+
- supports `markdown extras <https://markdown-extra.readthedocs.io/>`_ formatting with tables, embedded images, links etc.
|
|
114
133
|
- configuration helper to allow your plugin to be configured by chat
|
|
115
134
|
- Text development/debug consoles
|
|
116
135
|
- Self-documenting: your docstrings become help automatically
|
|
117
136
|
- subcommands and various arg parsing options are available (re, command line type)
|
|
118
137
|
- polling support: your can setup a plugin to periodically do something
|
|
119
138
|
- end to end test backend
|
|
120
|
-
- card rendering under Slack
|
|
139
|
+
- card rendering under Slack
|
|
121
140
|
|
|
122
141
|
Community and support
|
|
123
142
|
---------------------
|
|
@@ -161,12 +180,12 @@ It will show you a prompt `>>>` so you can talk to your bot directly! Try `!help
|
|
|
161
180
|
Adding support for a chat system
|
|
162
181
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
163
182
|
|
|
164
|
-
For the built-ins, just use one of those options `
|
|
183
|
+
For the built-ins, just use one of those options `telegram, IRC, XMPP` with pip, you can still do it
|
|
165
184
|
after the initial installation to add the missing support for example ::
|
|
166
185
|
|
|
167
|
-
$ pip install "errbot[
|
|
186
|
+
$ pip install "errbot[irc]"
|
|
168
187
|
|
|
169
|
-
For the external ones (
|
|
188
|
+
For the external ones (Slack, Discord, Gitter, Skype, etc ...), please follow their respective github pages for instructions.
|
|
170
189
|
|
|
171
190
|
Configuration
|
|
172
191
|
~~~~~~~~~~~~~
|
|
@@ -258,6 +277,94 @@ Contribution to Errbot itself
|
|
|
258
277
|
Feel free to fork and propose changes on `github <https://www.github.com/errbotio/errbot>`_
|
|
259
278
|
|
|
260
279
|
|
|
280
|
+
v6.2.0 (2024-01-01)
|
|
281
|
+
-------------------
|
|
282
|
+
|
|
283
|
+
breaking:
|
|
284
|
+
|
|
285
|
+
- backend/slack: remove slack and slack_rtm built-in backends (#1581)
|
|
286
|
+
- core/logging: deprecate SENTRY_TRANSPORT config (#1604)
|
|
287
|
+
- core: removing py37 support (#1652)
|
|
288
|
+
|
|
289
|
+
features:
|
|
290
|
+
|
|
291
|
+
- core/plugins: detect plugins using entrypoints (#1590)
|
|
292
|
+
- core/logging: add new SENTRY_OPTIONS config (#1597)
|
|
293
|
+
- core/plugins: make slack, mattermost and discord backends available as install requirements (#1611)
|
|
294
|
+
|
|
295
|
+
fixes:
|
|
296
|
+
|
|
297
|
+
- docs: add unreleased section (#1576)
|
|
298
|
+
- docs: update broken URL for Markdown Extra (#1572)
|
|
299
|
+
- chore: bump actions/setup-python version (#1575, #1593, #1609, #1626, #1642, #1650, #1659, #1674)
|
|
300
|
+
- backend/telegram: fix missing imports (#1574)
|
|
301
|
+
- chore: ci improvements (#1577, #1583)
|
|
302
|
+
- chore: add docs build to ci (#1582)
|
|
303
|
+
- backend/xmpp: fix forward type references (#1578)
|
|
304
|
+
- chore: remove campfire references (#1584)
|
|
305
|
+
- chore/setup: fix exception when installing on python <3.7 (#1585)
|
|
306
|
+
- docs: typos (#1589, #1594)
|
|
307
|
+
- chore: simplify isort config using black (#1595)
|
|
308
|
+
- fix: detecting entrypoint module paths (#1603)
|
|
309
|
+
- chore: fix Docker build to use local tree (#1608)
|
|
310
|
+
- chore: bump actions/checkout version (#1610, #1625, #1637, #1644, #1653, #1656, #1658, #1663)
|
|
311
|
+
- docs: link to external Discord plugin documentation (#1615)
|
|
312
|
+
- chore: add ARG to Dockerfile and add proper stop signal (#1613)
|
|
313
|
+
- fix: update module versions and build (#1627)
|
|
314
|
+
- chore: update setuptools version (#1628)
|
|
315
|
+
- refactor: detecting entry point plugins (#1630)
|
|
316
|
+
- chore: bump mr-smithers-excellent/docker-build-push version (#1633)
|
|
317
|
+
- docs: fix example code in the testing section (#1643)
|
|
318
|
+
- chore: update all core dependencies (#1651)
|
|
319
|
+
- fix: use template file for webserver plugin echo output (#1654)
|
|
320
|
+
- chore: update repos.json (#1660)
|
|
321
|
+
- docs: add readthedocs yaml config (#1661)
|
|
322
|
+
- fix: broken integration tests (#1668)
|
|
323
|
+
- style: replace format() with f-strings (#1667)
|
|
324
|
+
- migrate from external mock package to stdlib unittest.mock (#1673)
|
|
325
|
+
- fix: import of Mapping from collections.abc (#1675)
|
|
326
|
+
- backend: update irc, telegram and xmpp dependencies (#1655)
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
v6.1.9 (2022-06-11)
|
|
330
|
+
-------------------
|
|
331
|
+
|
|
332
|
+
features:
|
|
333
|
+
|
|
334
|
+
- core: set default backend to Text (#1522)
|
|
335
|
+
- core: option to divert all commands to private or thread (#1528)
|
|
336
|
+
- core: add type hints to core and backend functions (#1542)
|
|
337
|
+
- docs: add ACL and numerous backends to official documentation (#1552)
|
|
338
|
+
- core: add Python 3.10 to automated tests (#1539)
|
|
339
|
+
- core: add room acl attribute (#1530)
|
|
340
|
+
- chore: refactor Dockerfile errbot install and python version bump (#1571)
|
|
341
|
+
|
|
342
|
+
fixes:
|
|
343
|
+
|
|
344
|
+
- core: success handling for update_repos (#1520)
|
|
345
|
+
- core/plugins: cascade dependency plugins (#1519)
|
|
346
|
+
- core/plugins: reload all repo plugins when updating a repo (#1521)
|
|
347
|
+
- plugin_manager: correct syntax error (#1524)
|
|
348
|
+
- backend/text: add stub send_stream_request method (#1527)
|
|
349
|
+
- backend/hipchat: remove HipChat backend (#1525)
|
|
350
|
+
- backend/test: shutdown sequence to address test failure (#1535)
|
|
351
|
+
- core: various minor logging improvements (#1536)
|
|
352
|
+
- chore: various minor formatting improvements (#1541)
|
|
353
|
+
- docs: update spark plugin reference (#1546)
|
|
354
|
+
- fix: python 2 version references in docs and init template (#1543)
|
|
355
|
+
- backends: deprecate built-in Slack and SlackRTM (#1526)
|
|
356
|
+
- chore: remove python 3.6 checks and test environment (#1540)
|
|
357
|
+
- chore: add/update issue templates (#1554)
|
|
358
|
+
- chore: pin all package dependencies (#1553, #1559)
|
|
359
|
+
- core/webserver: use errbot loglevel for consistent logging. (#1556)
|
|
360
|
+
- fix/core: prevent infinite loop when only BOT_PREFIX is passed (#1557)
|
|
361
|
+
- chore: bump actions/setup-python from 2 to 3.1.0 (#1563)
|
|
362
|
+
- chore: Set permissions for GitHub actions (#1565)
|
|
363
|
+
- fix: removed deprecated argument reconnection_interval for irc v20.0 (#1568)
|
|
364
|
+
- docs: Add Gentoo packages (#1567)
|
|
365
|
+
- chore: bump actions/setup-python from 3.1.0 to 3.1.2 (#1564)
|
|
366
|
+
- fix: circular dependencies error when there are none (#1505)
|
|
367
|
+
|
|
261
368
|
v6.1.8 (2021-06-21)
|
|
262
369
|
-------------------
|
|
263
370
|
|
|
@@ -273,7 +380,7 @@ features:
|
|
|
273
380
|
fixes:
|
|
274
381
|
|
|
275
382
|
- core/cli: failure when passing relative directory during --init (#1511)
|
|
276
|
-
- backend/xmpp: include message delayed for send/
|
|
383
|
+
- backend/xmpp: include message delayed for send/received messages (#1270)
|
|
277
384
|
- backend/xmpp: "unexpected keyword argument 'wait'" when connecting (#1507)
|
|
278
385
|
- docs: update broken readme link to plugin development docs (#1504)
|
|
279
386
|
- close threadpool on exit (#1486)
|
|
@@ -481,5 +588,3 @@ features:
|
|
|
481
588
|
- Added a default parameter to the storage context manager
|
|
482
589
|
|
|
483
590
|
.. v9.9.9 (leave that there so master doesn't complain)
|
|
484
|
-
|
|
485
|
-
|
|
@@ -43,17 +43,15 @@ Chat servers support
|
|
|
43
43
|
**Built-in**
|
|
44
44
|
|
|
45
45
|
- IRC support
|
|
46
|
-
- `Hipchat support <http://www.hipchat.com/>`_
|
|
47
|
-
- `Slack support <https://slack.com/>`_
|
|
48
46
|
- `Telegram support <https://www.telegram.org/>`_
|
|
49
47
|
- `XMPP support <http://xmpp.org>`_
|
|
50
48
|
|
|
51
49
|
**With add-ons**
|
|
52
50
|
|
|
53
|
-
- `
|
|
54
|
-
- `
|
|
55
|
-
- `Discord <https://www.discordapp.com/>`_ (See `instructions <https://github.com/gbin/err-backend-discord>`__)
|
|
51
|
+
- `Slack support <https://slack.com/>`_ (See `instructions <https://github.com/errbotio/err-backend-slackv3>`__)
|
|
52
|
+
- `Discord <https://www.discordapp.com/>`_ (See `instructions <https://github.com/errbotio/err-backend-discord>`__)
|
|
56
53
|
- `Gitter support <https://gitter.im/>`_ (See `instructions <https://github.com/errbotio/err-backend-gitter>`__)
|
|
54
|
+
- `Webex <https://www.webex.com/>`_ (See `instructions <https://github.com/marksull/err-backend-cisco-webex-teams>`__)
|
|
57
55
|
- `Mattermost <https://about.mattermost.com/>`_ (See `instructions <https://github.com/Vaelor/errbot-mattermost-backend>`__)
|
|
58
56
|
- `RocketChat <https://rocket.chat/>`_ (See `instructions <https://github.com/cardoso/errbot-rocketchat>`__)
|
|
59
57
|
- `Skype <https://www.skype.com/>`_ (See `instructions <https://github.com/errbotio/errbot-backend-skype>`__)
|
|
@@ -81,14 +79,14 @@ Developer features
|
|
|
81
79
|
- Presetup storage for every plugin i.e. ``self['foo'] = 'bar'`` persists the value.
|
|
82
80
|
- Conversation flows to track conversation states from users.
|
|
83
81
|
- Webhook callbacks support
|
|
84
|
-
- supports `markdown extras <https://
|
|
82
|
+
- supports `markdown extras <https://markdown-extra.readthedocs.io/>`_ formatting with tables, embedded images, links etc.
|
|
85
83
|
- configuration helper to allow your plugin to be configured by chat
|
|
86
84
|
- Text development/debug consoles
|
|
87
85
|
- Self-documenting: your docstrings become help automatically
|
|
88
86
|
- subcommands and various arg parsing options are available (re, command line type)
|
|
89
87
|
- polling support: your can setup a plugin to periodically do something
|
|
90
88
|
- end to end test backend
|
|
91
|
-
- card rendering under Slack
|
|
89
|
+
- card rendering under Slack
|
|
92
90
|
|
|
93
91
|
Community and support
|
|
94
92
|
---------------------
|
|
@@ -132,12 +130,12 @@ It will show you a prompt `>>>` so you can talk to your bot directly! Try `!help
|
|
|
132
130
|
Adding support for a chat system
|
|
133
131
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
134
132
|
|
|
135
|
-
For the built-ins, just use one of those options `
|
|
133
|
+
For the built-ins, just use one of those options `telegram, IRC, XMPP` with pip, you can still do it
|
|
136
134
|
after the initial installation to add the missing support for example ::
|
|
137
135
|
|
|
138
|
-
$ pip install "errbot[
|
|
136
|
+
$ pip install "errbot[irc]"
|
|
139
137
|
|
|
140
|
-
For the external ones (
|
|
138
|
+
For the external ones (Slack, Discord, Gitter, Skype, etc ...), please follow their respective github pages for instructions.
|
|
141
139
|
|
|
142
140
|
Configuration
|
|
143
141
|
~~~~~~~~~~~~~
|
|
@@ -5,7 +5,7 @@ import re
|
|
|
5
5
|
import shlex
|
|
6
6
|
import sys
|
|
7
7
|
from functools import wraps
|
|
8
|
-
from typing import Any, Callable, Tuple
|
|
8
|
+
from typing import Any, Callable, List, Optional, Tuple
|
|
9
9
|
|
|
10
10
|
from .backends.base import AWAY, DND, OFFLINE, ONLINE, Message # noqa
|
|
11
11
|
from .botplugin import ( # noqa
|
|
@@ -377,9 +377,7 @@ def arg_botcmd(
|
|
|
377
377
|
argparse_args = args[1:]
|
|
378
378
|
|
|
379
379
|
def decorator(func):
|
|
380
|
-
|
|
381
380
|
if not hasattr(func, "_err_command"):
|
|
382
|
-
|
|
383
381
|
err_command_parser = ArgumentParser(
|
|
384
382
|
prog=name or func.__name__,
|
|
385
383
|
description=func.__doc__,
|
|
@@ -387,7 +385,6 @@ def arg_botcmd(
|
|
|
387
385
|
|
|
388
386
|
@wraps(func)
|
|
389
387
|
def wrapper(self, msg, args):
|
|
390
|
-
|
|
391
388
|
# Attempt to sanitize arguments of bad characters
|
|
392
389
|
try:
|
|
393
390
|
sanitizer_re = re.compile(
|
|
@@ -458,8 +455,14 @@ def update_wrapper(wrapper, argparse_args, kwargs):
|
|
|
458
455
|
]
|
|
459
456
|
|
|
460
457
|
|
|
461
|
-
def _tag_webhook(
|
|
462
|
-
|
|
458
|
+
def _tag_webhook(
|
|
459
|
+
func: Callable,
|
|
460
|
+
uri_rule: str,
|
|
461
|
+
methods: Tuple[str],
|
|
462
|
+
form_param: Optional[str],
|
|
463
|
+
raw: bool,
|
|
464
|
+
) -> Callable:
|
|
465
|
+
log.info(f"webhooks: Flag to bind {uri_rule} to {getattr(func, '__name__', func)}")
|
|
463
466
|
func._err_webhook_uri_rule = uri_rule
|
|
464
467
|
func._err_webhook_methods = methods
|
|
465
468
|
func._err_webhook_form_param = form_param
|
|
@@ -467,7 +470,7 @@ def _tag_webhook(func, uri_rule, methods, form_param, raw):
|
|
|
467
470
|
return func
|
|
468
471
|
|
|
469
472
|
|
|
470
|
-
def _uri_from_func(func):
|
|
473
|
+
def _uri_from_func(func: Callable) -> str:
|
|
471
474
|
return r"/" + func.__name__
|
|
472
475
|
|
|
473
476
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import sys
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import Any, Type
|
|
4
|
+
from typing import Any, Iterator, List, Type, Union
|
|
5
5
|
|
|
6
6
|
from errbot.plugin_info import PluginInfo
|
|
7
7
|
|
|
8
|
-
from .utils import collect_roots
|
|
8
|
+
from .utils import collect_roots, entry_point_plugins
|
|
9
9
|
|
|
10
10
|
log = logging.getLogger(__name__)
|
|
11
11
|
|
|
@@ -14,7 +14,9 @@ class PluginNotFoundException(Exception):
|
|
|
14
14
|
pass
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
def enumerate_backend_plugins(
|
|
17
|
+
def enumerate_backend_plugins(
|
|
18
|
+
all_plugins_paths: List[Union[str, Path]]
|
|
19
|
+
) -> Iterator[PluginInfo]:
|
|
18
20
|
plugin_places = [Path(root) for root in all_plugins_paths]
|
|
19
21
|
for path in plugin_places:
|
|
20
22
|
plugfiles = path.glob("**/*.plug")
|
|
@@ -42,7 +44,8 @@ class BackendPluginManager:
|
|
|
42
44
|
self._base_class = base_class
|
|
43
45
|
|
|
44
46
|
self.plugin_info = None
|
|
45
|
-
|
|
47
|
+
ep = entry_point_plugins(group="errbot.backend_plugins")
|
|
48
|
+
all_plugins_paths = collect_roots((base_search_dir, extra_search_dirs, ep))
|
|
46
49
|
|
|
47
50
|
for potential_plugin in enumerate_backend_plugins(all_plugins_paths):
|
|
48
51
|
if potential_plugin.name == plugin_name:
|