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.
Files changed (111) hide show
  1. {errbot-6.1.8 → errbot-6.2.0}/CHANGES-4x.rst +1 -1
  2. {errbot-6.1.8 → errbot-6.2.0}/CHANGES-5x.rst +2 -2
  3. {errbot-6.1.8 → errbot-6.2.0}/CHANGES-pre-v4.rst +7 -7
  4. {errbot-6.1.8 → errbot-6.2.0}/CHANGES.rst +89 -1
  5. {errbot-6.1.8/errbot.egg-info → errbot-6.2.0}/PKG-INFO +126 -21
  6. {errbot-6.1.8 → errbot-6.2.0}/README.rst +8 -10
  7. {errbot-6.1.8 → errbot-6.2.0}/errbot/__init__.py +10 -7
  8. {errbot-6.1.8 → errbot-6.2.0}/errbot/backend_plugin_manager.py +7 -4
  9. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/base.py +27 -19
  10. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/irc.py +89 -58
  11. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/telegram_messenger.py +54 -37
  12. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/test.py +110 -52
  13. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/text.py +80 -32
  14. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/xmpp.py +60 -47
  15. {errbot-6.1.8 → errbot-6.2.0}/errbot/bootstrap.py +34 -21
  16. {errbot-6.1.8 → errbot-6.2.0}/errbot/botplugin.py +25 -25
  17. {errbot-6.1.8 → errbot-6.2.0}/errbot/cli.py +13 -8
  18. {errbot-6.1.8 → errbot-6.2.0}/errbot/config-template.py +80 -82
  19. {errbot-6.1.8 → errbot-6.2.0}/errbot/core.py +77 -48
  20. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/acls.py +8 -1
  21. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/chatRoom.py +0 -1
  22. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/cnf_filter.py +1 -1
  23. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/flows.py +2 -1
  24. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/help.py +5 -5
  25. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/plugins.py +20 -21
  26. errbot-6.2.0/errbot/core_plugins/templates/webserver.md +5 -0
  27. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/textcmds.py +0 -2
  28. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/utils.py +0 -1
  29. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/vcheck.py +1 -4
  30. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/webserver.py +10 -8
  31. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/wsview.py +0 -1
  32. {errbot-6.1.8 → errbot-6.2.0}/errbot/flow.py +14 -12
  33. {errbot-6.1.8 → errbot-6.2.0}/errbot/logs.py +5 -2
  34. {errbot-6.1.8 → errbot-6.2.0}/errbot/plugin_manager.py +68 -31
  35. {errbot-6.1.8 → errbot-6.2.0}/errbot/plugin_wizard.py +14 -11
  36. {errbot-6.1.8 → errbot-6.2.0}/errbot/repo_manager.py +11 -9
  37. {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/__init__.py +12 -3
  38. {errbot-6.1.8 → errbot-6.2.0}/errbot/streaming.py +7 -4
  39. errbot-6.2.0/errbot/templates/initdir/config.py.tmpl +19 -0
  40. {errbot-6.1.8 → errbot-6.2.0}/errbot/templates/initdir/example.plug +1 -1
  41. {errbot-6.1.8 → errbot-6.2.0}/errbot/templates/initdir/example.py +1 -1
  42. {errbot-6.1.8 → errbot-6.2.0}/errbot/templates/new_plugin.py.tmpl +10 -9
  43. {errbot-6.1.8 → errbot-6.2.0}/errbot/templating.py +9 -5
  44. {errbot-6.1.8 → errbot-6.2.0}/errbot/utils.py +15 -6
  45. {errbot-6.1.8 → errbot-6.2.0}/errbot/version.py +1 -1
  46. {errbot-6.1.8 → errbot-6.2.0/errbot.egg-info}/PKG-INFO +126 -21
  47. {errbot-6.1.8 → errbot-6.2.0}/errbot.egg-info/SOURCES.txt +2 -6
  48. {errbot-6.1.8 → errbot-6.2.0}/errbot.egg-info/entry_points.txt +0 -1
  49. errbot-6.2.0/errbot.egg-info/requires.txt +36 -0
  50. {errbot-6.1.8 → errbot-6.2.0}/setup.cfg +1 -6
  51. {errbot-6.1.8 → errbot-6.2.0}/setup.py +35 -30
  52. errbot-6.1.8/errbot/backends/hipchat.plug +0 -6
  53. errbot-6.1.8/errbot/backends/hipchat.py +0 -687
  54. errbot-6.1.8/errbot/backends/slack.plug +0 -6
  55. errbot-6.1.8/errbot/backends/slack.py +0 -1404
  56. errbot-6.1.8/errbot/backends/slack_rtm.plug +0 -6
  57. errbot-6.1.8/errbot/backends/slack_rtm.py +0 -1355
  58. errbot-6.1.8/errbot/templates/initdir/config.py.tmpl +0 -16
  59. errbot-6.1.8/errbot.egg-info/requires.txt +0 -42
  60. {errbot-6.1.8 → errbot-6.2.0}/COPYING +0 -0
  61. {errbot-6.1.8 → errbot-6.2.0}/MANIFEST.in +0 -0
  62. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/__init__.py +0 -0
  63. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/images/errbot-bg.svg +0 -0
  64. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/images/errbot.svg +0 -0
  65. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/images/prompt.svg +0 -0
  66. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/irc.plug +0 -0
  67. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/null.plug +0 -0
  68. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/null.py +0 -0
  69. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/styles/style-demo.css +0 -0
  70. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/styles/style.css +0 -0
  71. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/telegram_messenger.plug +0 -0
  72. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/test.plug +0 -0
  73. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/text.plug +0 -0
  74. {errbot-6.1.8 → errbot-6.2.0}/errbot/backends/xmpp.plug +0 -0
  75. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/__init__.py +0 -0
  76. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/acls.plug +0 -0
  77. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/backup.plug +0 -0
  78. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/backup.py +0 -0
  79. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/chatRoom.plug +0 -0
  80. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/cnf_filter.plug +0 -0
  81. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/flows.plug +0 -0
  82. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/health.plug +0 -0
  83. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/health.py +0 -0
  84. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/help.plug +0 -0
  85. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/plugins.plug +0 -0
  86. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/about.md +0 -0
  87. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/plugin_info.md +0 -0
  88. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/repos.md +0 -0
  89. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/repos2.md +0 -0
  90. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/status.md +0 -0
  91. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/status_gc.md +0 -0
  92. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/status_load.md +0 -0
  93. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/status_plugins.md +0 -0
  94. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/templates/webstatus.md +0 -0
  95. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/test.md +0 -0
  96. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/textcmds.plug +0 -0
  97. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/utils.plug +0 -0
  98. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/vcheck.plug +0 -0
  99. {errbot-6.1.8 → errbot-6.2.0}/errbot/core_plugins/webserver.plug +0 -0
  100. {errbot-6.1.8 → errbot-6.2.0}/errbot/plugin_info.py +0 -0
  101. {errbot-6.1.8 → errbot-6.2.0}/errbot/rendering/__init__.py +0 -0
  102. {errbot-6.1.8 → errbot-6.2.0}/errbot/rendering/ansiext.py +0 -0
  103. {errbot-6.1.8 → errbot-6.2.0}/errbot/rendering/xhtmlim.py +0 -0
  104. {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/base.py +0 -0
  105. {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/memory.plug +0 -0
  106. {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/memory.py +0 -0
  107. {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/shelf.plug +0 -0
  108. {errbot-6.1.8 → errbot-6.2.0}/errbot/storage/shelf.py +0 -0
  109. {errbot-6.1.8 → errbot-6.2.0}/errbot/templates/card.md +0 -0
  110. {errbot-6.1.8 → errbot-6.2.0}/errbot.egg-info/dependency_links.txt +0 -0
  111. {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 imporlib/use pip as process (#835) (thx Raphael Wouters)
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 transfert support (send_stream_request) on the Hipchat backend
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 HicpChat Server XMPP namespace (Thx Antti Palsola)
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 overriden
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 overriden
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 transfert support (upload and downloads) for selected backends
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-agressive-keepalive to the official repos
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 accessoble commands from the help (Thanks to Leonid S. Usov https://github.com/leonid-s-usov)
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 serie of issues related to the sharedmiddleware on flask
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 persistance stores on shutdown
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/recieved messages (#1270)
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.1.8
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
- Provides-Extra: hipchat
23
- Provides-Extra: IRC
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
- Provides-Extra: slack-rtm
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
- Provides-Extra: XMPP
28
- License-File: COPYING
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
- - `CampFire <https://campfirenow.com/>`_ (See `instructions <https://github.com/errbotio/err-backend-campfire>`__)
83
- - `Cisco Spark <https://www.ciscospark.com/>`_ (See `instructions <https://github.com/marksull/err-backend-cisco-spark>`__)
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://pythonhosted.org/Markdown/extensions/extra.html>`_ formatting with tables, embedded images, links etc.
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 and Hipchat.
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 `slack, hipchat, telegram, IRC, XMPP` with pip, you can still do it
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[slack]"
186
+ $ pip install "errbot[irc]"
168
187
 
169
- For the external ones (Skype, Gitter, Discord etc ...), please follow their respective github pages for instructions.
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/recieved messages (#1270)
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
- - `CampFire <https://campfirenow.com/>`_ (See `instructions <https://github.com/errbotio/err-backend-campfire>`__)
54
- - `Cisco Spark <https://www.ciscospark.com/>`_ (See `instructions <https://github.com/marksull/err-backend-cisco-spark>`__)
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://pythonhosted.org/Markdown/extensions/extra.html>`_ formatting with tables, embedded images, links etc.
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 and Hipchat.
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 `slack, hipchat, telegram, IRC, XMPP` with pip, you can still do it
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[slack]"
136
+ $ pip install "errbot[irc]"
139
137
 
140
- For the external ones (Skype, Gitter, Discord etc ...), please follow their respective github pages for instructions.
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(func, uri_rule, methods, form_param, raw):
462
- log.info(f"webhooks: Flag to bind {uri_rule} to {getattr(func, '__name__', func)}")
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(all_plugins_paths):
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
- all_plugins_paths = collect_roots((base_search_dir, extra_search_dirs))
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: