python-trueconf-bot 1.0.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 (168) hide show
  1. python_trueconf_bot-1.0.0/.github/workflows/docs.yml +37 -0
  2. python_trueconf_bot-1.0.0/.github/workflows/release-test.yml +45 -0
  3. python_trueconf_bot-1.0.0/.github/workflows/release.yml +67 -0
  4. python_trueconf_bot-1.0.0/.gitignore +187 -0
  5. python_trueconf_bot-1.0.0/LICENSE +32 -0
  6. python_trueconf_bot-1.0.0/PKG-INFO +115 -0
  7. python_trueconf_bot-1.0.0/README-PyPI.md +83 -0
  8. python_trueconf_bot-1.0.0/README-ru.md +87 -0
  9. python_trueconf_bot-1.0.0/README.md +90 -0
  10. python_trueconf_bot-1.0.0/assets/head_en.png +0 -0
  11. python_trueconf_bot-1.0.0/assets/head_ru.png +0 -0
  12. python_trueconf_bot-1.0.0/assets/logo-cyrillic.svg +1 -0
  13. python_trueconf_bot-1.0.0/assets/logo.svg +1 -0
  14. python_trueconf_bot-1.0.0/docs/en/examples/echo_bot.md +28 -0
  15. python_trueconf_bot-1.0.0/docs/en/examples/multibot.md +11 -0
  16. python_trueconf_bot-1.0.0/docs/en/features.md +90 -0
  17. python_trueconf_bot-1.0.0/docs/en/img/head.png +0 -0
  18. python_trueconf_bot-1.0.0/docs/en/index.md +43 -0
  19. python_trueconf_bot-1.0.0/docs/en/learn/enums.md +57 -0
  20. python_trueconf_bot-1.0.0/docs/en/learn/filters.md +144 -0
  21. python_trueconf_bot-1.0.0/docs/en/learn/getting-started.md +111 -0
  22. python_trueconf_bot-1.0.0/docs/en/learn/parse-messages.md +90 -0
  23. python_trueconf_bot-1.0.0/docs/en/learn/types.md +82 -0
  24. python_trueconf_bot-1.0.0/docs/en/reference/Bot.md +16 -0
  25. python_trueconf_bot-1.0.0/docs/en/reference/Dispatcher.md +16 -0
  26. python_trueconf_bot-1.0.0/docs/en/reference/Enums.md +15 -0
  27. python_trueconf_bot-1.0.0/docs/en/reference/Router.md +16 -0
  28. python_trueconf_bot-1.0.0/docs/en/reference/Types.md +108 -0
  29. python_trueconf_bot-1.0.0/docs/en/reference/index.md +0 -0
  30. python_trueconf_bot-1.0.0/docs/img/chatbot.svg +47 -0
  31. python_trueconf_bot-1.0.0/docs/img/favicon.ico +0 -0
  32. python_trueconf_bot-1.0.0/docs/img/logo.svg +20 -0
  33. python_trueconf_bot-1.0.0/docs/ru/examples/echo_bot.md +28 -0
  34. python_trueconf_bot-1.0.0/docs/ru/examples/multibot.md +10 -0
  35. python_trueconf_bot-1.0.0/docs/ru/features.md +88 -0
  36. python_trueconf_bot-1.0.0/docs/ru/img/head.png +0 -0
  37. python_trueconf_bot-1.0.0/docs/ru/index.md +38 -0
  38. python_trueconf_bot-1.0.0/docs/ru/learn/enums.md +69 -0
  39. python_trueconf_bot-1.0.0/docs/ru/learn/filters.md +141 -0
  40. python_trueconf_bot-1.0.0/docs/ru/learn/getting-started.md +112 -0
  41. python_trueconf_bot-1.0.0/docs/ru/learn/parse-messages.md +97 -0
  42. python_trueconf_bot-1.0.0/docs/ru/learn/types.md +89 -0
  43. python_trueconf_bot-1.0.0/docs/stylesheets/extra.css +12 -0
  44. python_trueconf_bot-1.0.0/mkdocs.yml +205 -0
  45. python_trueconf_bot-1.0.0/pyproject.toml +66 -0
  46. python_trueconf_bot-1.0.0/python_trueconf_bot.egg-info/PKG-INFO +115 -0
  47. python_trueconf_bot-1.0.0/python_trueconf_bot.egg-info/SOURCES.txt +166 -0
  48. python_trueconf_bot-1.0.0/python_trueconf_bot.egg-info/dependency_links.txt +1 -0
  49. python_trueconf_bot-1.0.0/python_trueconf_bot.egg-info/requires.txt +5 -0
  50. python_trueconf_bot-1.0.0/python_trueconf_bot.egg-info/top_level.txt +1 -0
  51. python_trueconf_bot-1.0.0/requirements-docs.txt +44 -0
  52. python_trueconf_bot-1.0.0/requirements.txt +12 -0
  53. python_trueconf_bot-1.0.0/setup.cfg +4 -0
  54. python_trueconf_bot-1.0.0/trueconf/__init__.py +18 -0
  55. python_trueconf_bot-1.0.0/trueconf/_version.py +34 -0
  56. python_trueconf_bot-1.0.0/trueconf/client/__init__.py +0 -0
  57. python_trueconf_bot-1.0.0/trueconf/client/bot.py +1269 -0
  58. python_trueconf_bot-1.0.0/trueconf/client/context_controller.py +27 -0
  59. python_trueconf_bot-1.0.0/trueconf/client/session.py +60 -0
  60. python_trueconf_bot-1.0.0/trueconf/dispatcher/__init__.py +0 -0
  61. python_trueconf_bot-1.0.0/trueconf/dispatcher/dispatcher.py +56 -0
  62. python_trueconf_bot-1.0.0/trueconf/dispatcher/router.py +207 -0
  63. python_trueconf_bot-1.0.0/trueconf/enums/__init__.py +23 -0
  64. python_trueconf_bot-1.0.0/trueconf/enums/aouth_error.py +15 -0
  65. python_trueconf_bot-1.0.0/trueconf/enums/chat_participant_role.py +18 -0
  66. python_trueconf_bot-1.0.0/trueconf/enums/chat_type.py +17 -0
  67. python_trueconf_bot-1.0.0/trueconf/enums/envelope_author_type.py +13 -0
  68. python_trueconf_bot-1.0.0/trueconf/enums/file_ready_state.py +14 -0
  69. python_trueconf_bot-1.0.0/trueconf/enums/incoming_update_method.py +14 -0
  70. python_trueconf_bot-1.0.0/trueconf/enums/message_type.py +27 -0
  71. python_trueconf_bot-1.0.0/trueconf/enums/parse_mode.py +14 -0
  72. python_trueconf_bot-1.0.0/trueconf/enums/survey_type.py +6 -0
  73. python_trueconf_bot-1.0.0/trueconf/enums/update_type.py +14 -0
  74. python_trueconf_bot-1.0.0/trueconf/exceptions.py +17 -0
  75. python_trueconf_bot-1.0.0/trueconf/filters/__init__.py +11 -0
  76. python_trueconf_bot-1.0.0/trueconf/filters/base.py +8 -0
  77. python_trueconf_bot-1.0.0/trueconf/filters/command.py +32 -0
  78. python_trueconf_bot-1.0.0/trueconf/filters/instance_of.py +11 -0
  79. python_trueconf_bot-1.0.0/trueconf/filters/message.py +15 -0
  80. python_trueconf_bot-1.0.0/trueconf/filters/method.py +12 -0
  81. python_trueconf_bot-1.0.0/trueconf/loggers.py +4 -0
  82. python_trueconf_bot-1.0.0/trueconf/methods/__init__.py +59 -0
  83. python_trueconf_bot-1.0.0/trueconf/methods/add_participant_to_chat.py +22 -0
  84. python_trueconf_bot-1.0.0/trueconf/methods/auth.py +25 -0
  85. python_trueconf_bot-1.0.0/trueconf/methods/base.py +107 -0
  86. python_trueconf_bot-1.0.0/trueconf/methods/create_channel.py +20 -0
  87. python_trueconf_bot-1.0.0/trueconf/methods/create_group_chat.py +20 -0
  88. python_trueconf_bot-1.0.0/trueconf/methods/create_p2p_chat.py +20 -0
  89. python_trueconf_bot-1.0.0/trueconf/methods/edit_message.py +25 -0
  90. python_trueconf_bot-1.0.0/trueconf/methods/edit_survey.py +32 -0
  91. python_trueconf_bot-1.0.0/trueconf/methods/forward_message.py +22 -0
  92. python_trueconf_bot-1.0.0/trueconf/methods/get_chat_by_id.py +20 -0
  93. python_trueconf_bot-1.0.0/trueconf/methods/get_chat_history.py +24 -0
  94. python_trueconf_bot-1.0.0/trueconf/methods/get_chat_participants.py +24 -0
  95. python_trueconf_bot-1.0.0/trueconf/methods/get_chats.py +22 -0
  96. python_trueconf_bot-1.0.0/trueconf/methods/get_file_info.py +20 -0
  97. python_trueconf_bot-1.0.0/trueconf/methods/get_message_by_id.py +19 -0
  98. python_trueconf_bot-1.0.0/trueconf/methods/get_user_display_name.py +20 -0
  99. python_trueconf_bot-1.0.0/trueconf/methods/has_chat_participant.py +22 -0
  100. python_trueconf_bot-1.0.0/trueconf/methods/remove_chat.py +20 -0
  101. python_trueconf_bot-1.0.0/trueconf/methods/remove_message.py +23 -0
  102. python_trueconf_bot-1.0.0/trueconf/methods/remove_participant_from_chat.py +23 -0
  103. python_trueconf_bot-1.0.0/trueconf/methods/send_file.py +25 -0
  104. python_trueconf_bot-1.0.0/trueconf/methods/send_message.py +29 -0
  105. python_trueconf_bot-1.0.0/trueconf/methods/send_survey.py +40 -0
  106. python_trueconf_bot-1.0.0/trueconf/methods/subscribe_file_progress.py +21 -0
  107. python_trueconf_bot-1.0.0/trueconf/methods/unsubscribe_file_progress.py +21 -0
  108. python_trueconf_bot-1.0.0/trueconf/methods/upload_file.py +21 -0
  109. python_trueconf_bot-1.0.0/trueconf/py.typed +0 -0
  110. python_trueconf_bot-1.0.0/trueconf/types/__init__.py +25 -0
  111. python_trueconf_bot-1.0.0/trueconf/types/author_box.py +17 -0
  112. python_trueconf_bot-1.0.0/trueconf/types/chat_participant.py +11 -0
  113. python_trueconf_bot-1.0.0/trueconf/types/content/__init__.py +25 -0
  114. python_trueconf_bot-1.0.0/trueconf/types/content/attachment.py +14 -0
  115. python_trueconf_bot-1.0.0/trueconf/types/content/base.py +8 -0
  116. python_trueconf_bot-1.0.0/trueconf/types/content/chat_created.py +9 -0
  117. python_trueconf_bot-1.0.0/trueconf/types/content/document.py +71 -0
  118. python_trueconf_bot-1.0.0/trueconf/types/content/forward_message.py +21 -0
  119. python_trueconf_bot-1.0.0/trueconf/types/content/photo.py +70 -0
  120. python_trueconf_bot-1.0.0/trueconf/types/content/remove_participant.py +9 -0
  121. python_trueconf_bot-1.0.0/trueconf/types/content/sticker.py +70 -0
  122. python_trueconf_bot-1.0.0/trueconf/types/content/survey.py +19 -0
  123. python_trueconf_bot-1.0.0/trueconf/types/content/text.py +9 -0
  124. python_trueconf_bot-1.0.0/trueconf/types/content/video.py +71 -0
  125. python_trueconf_bot-1.0.0/trueconf/types/last_message.py +33 -0
  126. python_trueconf_bot-1.0.0/trueconf/types/message.py +411 -0
  127. python_trueconf_bot-1.0.0/trueconf/types/parser.py +90 -0
  128. python_trueconf_bot-1.0.0/trueconf/types/requests/__init__.py +21 -0
  129. python_trueconf_bot-1.0.0/trueconf/types/requests/added_chat_participant.py +40 -0
  130. python_trueconf_bot-1.0.0/trueconf/types/requests/created_channel.py +42 -0
  131. python_trueconf_bot-1.0.0/trueconf/types/requests/created_group_chat.py +42 -0
  132. python_trueconf_bot-1.0.0/trueconf/types/requests/created_personal_chat.py +42 -0
  133. python_trueconf_bot-1.0.0/trueconf/types/requests/edited_message.py +37 -0
  134. python_trueconf_bot-1.0.0/trueconf/types/requests/removed_chat.py +32 -0
  135. python_trueconf_bot-1.0.0/trueconf/types/requests/removed_chat_participant.py +39 -0
  136. python_trueconf_bot-1.0.0/trueconf/types/requests/removed_message.py +37 -0
  137. python_trueconf_bot-1.0.0/trueconf/types/requests/uploading_progress.py +34 -0
  138. python_trueconf_bot-1.0.0/trueconf/types/responses/__init__.py +57 -0
  139. python_trueconf_bot-1.0.0/trueconf/types/responses/add_chat_participant_response.py +8 -0
  140. python_trueconf_bot-1.0.0/trueconf/types/responses/api_error.py +38 -0
  141. python_trueconf_bot-1.0.0/trueconf/types/responses/auth_response_payload.py +9 -0
  142. python_trueconf_bot-1.0.0/trueconf/types/responses/create_channel_response.py +8 -0
  143. python_trueconf_bot-1.0.0/trueconf/types/responses/create_group_chat_response.py +8 -0
  144. python_trueconf_bot-1.0.0/trueconf/types/responses/create_p2p_chat_response.py +8 -0
  145. python_trueconf_bot-1.0.0/trueconf/types/responses/edit_message_response.py +9 -0
  146. python_trueconf_bot-1.0.0/trueconf/types/responses/edit_survey_response.py +9 -0
  147. python_trueconf_bot-1.0.0/trueconf/types/responses/forward_message_response.py +10 -0
  148. python_trueconf_bot-1.0.0/trueconf/types/responses/get_chat_by_id_response.py +13 -0
  149. python_trueconf_bot-1.0.0/trueconf/types/responses/get_chat_history_response.py +13 -0
  150. python_trueconf_bot-1.0.0/trueconf/types/responses/get_chat_participants_response.py +12 -0
  151. python_trueconf_bot-1.0.0/trueconf/types/responses/get_chats_response.py +12 -0
  152. python_trueconf_bot-1.0.0/trueconf/types/responses/get_file_info_response.py +24 -0
  153. python_trueconf_bot-1.0.0/trueconf/types/responses/get_message_by_id_response.py +26 -0
  154. python_trueconf_bot-1.0.0/trueconf/types/responses/get_user_display_name_response.py +8 -0
  155. python_trueconf_bot-1.0.0/trueconf/types/responses/has_chat_participant_response.py +8 -0
  156. python_trueconf_bot-1.0.0/trueconf/types/responses/remove_chat_participant_response.py +8 -0
  157. python_trueconf_bot-1.0.0/trueconf/types/responses/remove_chat_response.py +8 -0
  158. python_trueconf_bot-1.0.0/trueconf/types/responses/remove_message_response.py +8 -0
  159. python_trueconf_bot-1.0.0/trueconf/types/responses/send_file_response.py +10 -0
  160. python_trueconf_bot-1.0.0/trueconf/types/responses/send_message_response.py +10 -0
  161. python_trueconf_bot-1.0.0/trueconf/types/responses/send_survey_response.py +10 -0
  162. python_trueconf_bot-1.0.0/trueconf/types/responses/subscribe_file_progress_response.py +8 -0
  163. python_trueconf_bot-1.0.0/trueconf/types/responses/unsubscribe_file_progress_response.py +8 -0
  164. python_trueconf_bot-1.0.0/trueconf/types/responses/upload_file_response.py +8 -0
  165. python_trueconf_bot-1.0.0/trueconf/types/update.py +12 -0
  166. python_trueconf_bot-1.0.0/trueconf/utils/__init__.py +3 -0
  167. python_trueconf_bot-1.0.0/trueconf/utils/generate_secret_for_survey.py +10 -0
  168. python_trueconf_bot-1.0.0/trueconf/utils/token.py +78 -0
@@ -0,0 +1,37 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'docs/*'
7
+ workflow_dispatch:
8
+
9
+ permissions:
10
+ contents: write
11
+
12
+ jobs:
13
+ deploy-docs:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+
18
+ - name: Set up Python
19
+ uses: actions/setup-python@v5
20
+ with:
21
+ python-version: "3.10"
22
+
23
+ - name: Install docs deps
24
+ run: |
25
+ python -m pip install --upgrade pip
26
+ pip install mkdocs-material
27
+ if [ -f requirements-docs.txt ]; then pip install -r requirements-docs.txt; fi
28
+
29
+ - name: Configure git (gh-deploy)
30
+ run: |
31
+ git config user.name "github-actions[bot]"
32
+ git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
33
+
34
+ - name: Deploy to gh-pages
35
+ env:
36
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
37
+ run: mkdocs gh-deploy --force --remote-branch gh-pages
@@ -0,0 +1,45 @@
1
+ name: Release to TestPyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ tag:
7
+ description: "Tag to release (e.g. v1.2.3 or v1.2.3rc1)"
8
+ required: true
9
+ type: string
10
+
11
+ permissions:
12
+ contents: read
13
+ id-token: write
14
+
15
+ jobs:
16
+ publish-to-testpypi:
17
+ runs-on: ubuntu-latest
18
+ environment: testpypi
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ with:
22
+ fetch-depth: 0
23
+ fetch-tags: true
24
+ ref: ${{ github.event.inputs.tag }}
25
+
26
+ - name: Set up Python
27
+ uses: actions/setup-python@v5
28
+ with:
29
+ python-version: "3.10"
30
+
31
+ - name: Build package
32
+ run: |
33
+ pip install build
34
+ python -m build
35
+
36
+ - name: Check dist metadata
37
+ run: |
38
+ pip install twine
39
+ twine check dist/*
40
+
41
+ - name: Publish package to TestPyPI
42
+ uses: pypa/gh-action-pypi-publish@release/v1
43
+ with:
44
+ repository-url: https://test.pypi.org/legacy/
45
+ verbose: true
@@ -0,0 +1,67 @@
1
+ name: Release to PyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ tag:
7
+ description: "Tag to release (e.g. v1.2.3 or v1.2.3rc1)"
8
+ required: true
9
+ type: string
10
+
11
+ permissions:
12
+ contents: read
13
+ id-token: write
14
+
15
+ jobs:
16
+ build:
17
+ runs-on: ubuntu-latest
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ with:
21
+ fetch-depth: 0
22
+ fetch-tags: true
23
+ ref: ${{ github.event.inputs.tag }}
24
+
25
+ - name: Set up Python
26
+ uses: actions/setup-python@v5
27
+ with:
28
+ python-version: "3.11"
29
+
30
+ - name: Build package
31
+ run: |
32
+ pip install build
33
+ python -m build
34
+
35
+ - name: Upload artifacts
36
+ uses: actions/upload-artifact@v4
37
+ with:
38
+ name: dist
39
+ path: dist/*
40
+
41
+ publish-stable:
42
+ needs: build
43
+ runs-on: ubuntu-latest
44
+ if: ${{ !contains(github.ref, '-') }}
45
+ environment: pypi
46
+ steps:
47
+ - uses: actions/download-artifact@v4
48
+ with:
49
+ name: dist
50
+ path: dist
51
+
52
+ - name: Publish stable to PyPI (Trusted Publisher)
53
+ uses: pypa/gh-action-pypi-publish@release/v1
54
+
55
+ publish-prerelease:
56
+ needs: build
57
+ runs-on: ubuntu-latest
58
+ if: ${{ contains(github.ref, '-rc') || contains(github.ref, '-a') || contains(github.ref, '-b') }}
59
+ environment: pypi
60
+ steps:
61
+ - uses: actions/download-artifact@v4
62
+ with:
63
+ name: dist
64
+ path: dist
65
+
66
+ - name: Publish pre-release to PyPI (Trusted Publisher)
67
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,187 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # UV
98
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ #uv.lock
102
+
103
+ # poetry
104
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
+ #poetry.lock
109
+
110
+ # pdm
111
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112
+ #pdm.lock
113
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114
+ # in version control.
115
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116
+ .pdm.toml
117
+ .pdm-python
118
+ .pdm-build/
119
+
120
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121
+ __pypackages__/
122
+
123
+ # Celery stuff
124
+ celerybeat-schedule
125
+ celerybeat.pid
126
+
127
+ # SageMath parsed files
128
+ *.sage.py
129
+
130
+ # Environments
131
+ .venv
132
+ env/
133
+ venv/
134
+ ENV/
135
+ env.bak/
136
+ venv.bak/
137
+
138
+ # Spyder project settings
139
+ .spyderproject
140
+ .spyproject
141
+
142
+ # Rope project settings
143
+ .ropeproject
144
+
145
+ # mkdocs documentation
146
+ /site
147
+
148
+ # mypy
149
+ .mypy_cache/
150
+ .dmypy.json
151
+ dmypy.json
152
+
153
+ # Pyre type checker
154
+ .pyre/
155
+
156
+ # pytype static type analyzer
157
+ .pytype/
158
+
159
+ # Cython debug symbols
160
+ cython_debug/
161
+
162
+ # PyCharm
163
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
164
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
165
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
166
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
167
+ #.idea/
168
+
169
+ # PyPI configuration file
170
+ .pypirc
171
+
172
+
173
+ #VS Code folder
174
+ .vscode
175
+
176
+ # Config file
177
+
178
+ config_models.py
179
+
180
+ trueconf/_version.py
181
+
182
+ .idea
183
+
184
+ *.DS_Store
185
+
186
+ .venv*
187
+ venv*
@@ -0,0 +1,32 @@
1
+ The Clear BSD License
2
+
3
+ Copyright (c) 2025 TrueConf LLC
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted (subject to the limitations in the disclaimer
8
+ below) provided that the following conditions are met:
9
+
10
+ * Redistributions of source code must retain the above copyright notice,
11
+ this list of conditions and the following disclaimer.
12
+
13
+ * Redistributions in binary form must reproduce the above copyright
14
+ notice, this list of conditions and the following disclaimer in the
15
+ documentation and/or other materials provided with the distribution.
16
+
17
+ * Neither the name of the copyright holder nor the names of its
18
+ contributors may be used to endorse or promote products derived from this
19
+ software without specific prior written permission.
20
+
21
+ NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY
22
+ THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
23
+ CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
25
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
26
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
27
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
28
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
29
+ BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
30
+ IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
+ POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,115 @@
1
+ Metadata-Version: 2.4
2
+ Name: python-trueconf-bot
3
+ Version: 1.0.0
4
+ Summary: Lightweight and powerful framework for the TrueConf Server Chatbot API
5
+ Author-email: TrueConf LLC <info@trueconf.com>, Anton Baadzhi <baadzhianton@gmail.com>
6
+ License-Expression: BSD-3-Clause-Clear
7
+ Project-URL: Homepage, https://github.com/TrueConf/python-trueconf-bot
8
+ Project-URL: Repository, https://github.com/TrueConf/python-trueconf-bot
9
+ Project-URL: Documentation, https://trueconf.github.io/python-trueconf-bot
10
+ Project-URL: Issues, https://github.com/TrueConf/python-trueconf-bot/issues
11
+ Keywords: trueconf,chatbot,bot,api,framework,wrapper,asyncio,websocket
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Environment :: Console
14
+ Classifier: Framework :: AsyncIO
15
+ Classifier: Typing :: Typed
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Classifier: Topic :: Communications :: Chat
23
+ Requires-Python: >=3.10
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: websockets
27
+ Requires-Dist: httpx
28
+ Requires-Dist: mashumaro
29
+ Requires-Dist: aiofiles
30
+ Requires-Dist: magic-filter
31
+ Dynamic: license-file
32
+
33
+ <p align="center">
34
+ <a href="https://trueconf.com" target="_blank" rel="noopener noreferrer">
35
+ <picture>
36
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/TrueConf/python-trueconf-bot/master/assets/logo.svg" type="image/svg">
37
+ <img width="150" src="https://raw.githubusercontent.com/TrueConf/python-trueconf-bot/master/assets/logo.svg" type="image/svg">
38
+ </picture>
39
+ </a>
40
+ </p>
41
+
42
+ <h1 align="center">python-trueconf-bot</h1>
43
+
44
+ <p align="center">This is a lightweight and powerful wrapper for the <a href="https://trueconf.com/docs/chatbot-connector/en/overview/">TrueConf Server Chatbot API</a> which enables quick integration of chatbots into TrueConf solutions.</p>
45
+
46
+ <p align="center">
47
+ <a href="https://t.me/trueconf_chat" target="_blank">
48
+ <img src="https://img.shields.io/badge/telegram-group-blue?style=flat-square&logo=telegram" />
49
+ </a>
50
+ <a href="https://chat.whatsapp.com/GY97WBzSgvD1cJG0dWEiGP">
51
+ <img src="https://img.shields.io/badge/whatsapp-commiunity-gree?style=flat-square&logo=whatsapp" />
52
+ </a>
53
+ <a href="#">
54
+ <img src="https://img.shields.io/github/stars/trueconf/python-trueconf-bot?style=social" />
55
+ </a>
56
+ </p>
57
+
58
+ <p align="center">
59
+ <img src="https://raw.githubusercontent.com/TrueConf/python-trueconf-bot/master/assets/head_en.png" alt="Example Bot in TrueConf" width="600" height="auto">
60
+ </p>
61
+
62
+ > 💡TIP
63
+ >
64
+ > We were inspired by the popular [aiogram](https://github.com/aiogram/aiogram/) library, so, the transition will be **simple** for developers already familiar with this library.
65
+
66
+ ## 📌 Key Features
67
+
68
+ * Easy integration with the [TrueConf Server Chatbot API](https://trueconf.com/docs/chatbot-connector/en/overview/)
69
+ * Quick start with the `python-trueconf-bot` package
70
+ * Modern and intuitive Python API (`from trueconf import Bot`)
71
+ * Support for all major TrueConf Server chatbot features.
72
+
73
+ > ☝️**IMPORTANT**
74
+ >
75
+ > Chatbot features are supported in TrueConf Server 5.5 or above, TrueConf Enterprise, and TrueConf Server Free.
76
+
77
+ ## 🚀 Example Bot
78
+
79
+ ```python
80
+ import asyncio
81
+ from trueconf import Bot, Dispatcher, Router, Message, F, ParseMode
82
+ from os import getenv
83
+
84
+ router = Router()
85
+ dp = Dispatcher()
86
+ dp.include_router(router)
87
+
88
+ TOKEN = getenv("TOKEN")
89
+
90
+ bot = Bot(server="video.example.com", token=TOKEN, dispatcher=dp)
91
+
92
+
93
+ @router.message(F.text)
94
+ async def echo(msg: Message):
95
+ await msg.answer(f"You says: **{msg.text}**", parse_mode=ParseMode.MARKDOWN)
96
+
97
+
98
+ async def main():
99
+ await bot.run()
100
+
101
+
102
+ if __name__ == "__main__":
103
+ asyncio.run(main())
104
+ ```
105
+
106
+ ## 📚 Documentation
107
+
108
+ 1. [TrueConf Server Chatbot API Documentation](https://trueconf.com/docs/chatbot-connector/en/overview/)
109
+ 2. [python-trueconf-bot Documentation](https://trueconf.github.io/python-trueconf-bot/)
110
+
111
+ All updates and releases are available in the repository. Track the build status and test coverage.
112
+
113
+ ---
114
+
115
+ Start building smart and reliable bots for TrueConf today with **python-trueconf-bot**!
@@ -0,0 +1,83 @@
1
+ <p align="center">
2
+ <a href="https://trueconf.com" target="_blank" rel="noopener noreferrer">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/TrueConf/python-trueconf-bot/master/assets/logo.svg" type="image/svg">
5
+ <img width="150" src="https://raw.githubusercontent.com/TrueConf/python-trueconf-bot/master/assets/logo.svg" type="image/svg">
6
+ </picture>
7
+ </a>
8
+ </p>
9
+
10
+ <h1 align="center">python-trueconf-bot</h1>
11
+
12
+ <p align="center">This is a lightweight and powerful wrapper for the <a href="https://trueconf.com/docs/chatbot-connector/en/overview/">TrueConf Server Chatbot API</a> which enables quick integration of chatbots into TrueConf solutions.</p>
13
+
14
+ <p align="center">
15
+ <a href="https://t.me/trueconf_chat" target="_blank">
16
+ <img src="https://img.shields.io/badge/telegram-group-blue?style=flat-square&logo=telegram" />
17
+ </a>
18
+ <a href="https://chat.whatsapp.com/GY97WBzSgvD1cJG0dWEiGP">
19
+ <img src="https://img.shields.io/badge/whatsapp-commiunity-gree?style=flat-square&logo=whatsapp" />
20
+ </a>
21
+ <a href="#">
22
+ <img src="https://img.shields.io/github/stars/trueconf/python-trueconf-bot?style=social" />
23
+ </a>
24
+ </p>
25
+
26
+ <p align="center">
27
+ <img src="https://raw.githubusercontent.com/TrueConf/python-trueconf-bot/master/assets/head_en.png" alt="Example Bot in TrueConf" width="600" height="auto">
28
+ </p>
29
+
30
+ > 💡TIP
31
+ >
32
+ > We were inspired by the popular [aiogram](https://github.com/aiogram/aiogram/) library, so, the transition will be **simple** for developers already familiar with this library.
33
+
34
+ ## 📌 Key Features
35
+
36
+ * Easy integration with the [TrueConf Server Chatbot API](https://trueconf.com/docs/chatbot-connector/en/overview/)
37
+ * Quick start with the `python-trueconf-bot` package
38
+ * Modern and intuitive Python API (`from trueconf import Bot`)
39
+ * Support for all major TrueConf Server chatbot features.
40
+
41
+ > ☝️**IMPORTANT**
42
+ >
43
+ > Chatbot features are supported in TrueConf Server 5.5 or above, TrueConf Enterprise, and TrueConf Server Free.
44
+
45
+ ## 🚀 Example Bot
46
+
47
+ ```python
48
+ import asyncio
49
+ from trueconf import Bot, Dispatcher, Router, Message, F, ParseMode
50
+ from os import getenv
51
+
52
+ router = Router()
53
+ dp = Dispatcher()
54
+ dp.include_router(router)
55
+
56
+ TOKEN = getenv("TOKEN")
57
+
58
+ bot = Bot(server="video.example.com", token=TOKEN, dispatcher=dp)
59
+
60
+
61
+ @router.message(F.text)
62
+ async def echo(msg: Message):
63
+ await msg.answer(f"You says: **{msg.text}**", parse_mode=ParseMode.MARKDOWN)
64
+
65
+
66
+ async def main():
67
+ await bot.run()
68
+
69
+
70
+ if __name__ == "__main__":
71
+ asyncio.run(main())
72
+ ```
73
+
74
+ ## 📚 Documentation
75
+
76
+ 1. [TrueConf Server Chatbot API Documentation](https://trueconf.com/docs/chatbot-connector/en/overview/)
77
+ 2. [python-trueconf-bot Documentation](https://trueconf.github.io/python-trueconf-bot/)
78
+
79
+ All updates and releases are available in the repository. Track the build status and test coverage.
80
+
81
+ ---
82
+
83
+ Start building smart and reliable bots for TrueConf today with **python-trueconf-bot**!
@@ -0,0 +1,87 @@
1
+ <p align="center">
2
+ <a href="https://trueconf.com" target="_blank" rel="noopener noreferrer">
3
+ <picture>
4
+ <source media="(prefers-color-scheme: dark)" srcset="assets/logo-cyrillic.svg" type="image/svg">
5
+ <img width="150" src="assets/logo-cyrillic.svg" type="image/svg">
6
+ </picture>
7
+ </a>
8
+ </p>
9
+
10
+ <h1 align="center">python-trueconf-bot</h1>
11
+
12
+ <p align="center">Это легкая и мощная обертка для <a href="hhttps://trueconf.ru/docs/chatbot-connector/ru/overview/">API чат-ботов TrueConf Server</a>, позволяющая быстро интегрировать чат-ботов с API TrueConf.</p>
13
+
14
+ <p align="center">
15
+ <a href="https://t.me/trueconf_chat" target="_blank">
16
+ <img src="https://img.shields.io/badge/telegram-group-blue?style=flat-square&logo=telegram" />
17
+ </a>
18
+ <a href="https://chat.whatsapp.com/GY97WBzSgvD1cJG0dWEiGP">
19
+ <img src="https://img.shields.io/badge/whatsapp-commiunity-gree?style=flat-square&logo=whatsapp" />
20
+ </a>
21
+ <a href="#">
22
+ <img src="https://img.shields.io/github/stars/trueconf/python-trueconf-bot?style=social" />
23
+ </a>
24
+ </p>
25
+
26
+ <p align="center">
27
+ <img src="/assets/head_ru.png" alt="Example Bot in TrueConf" width="600" height="auto">
28
+ </p>
29
+
30
+ <p align="center">
31
+ <a href="./README.md">English</a> /
32
+ <a href="./README-ru.md">Русский</a>
33
+ </p>
34
+
35
+ > [!TIP]
36
+ > При разработке мы вдохновлялись популярной библиотекой [aiogram](https://github.com/aiogram/aiogram/), поэтому разработчикам,
37
+ > знакомым с ней, переход будет **простым** и **безболезненным**.
38
+
39
+ ## Ключевые возможности
40
+
41
+ - Простая интеграция с [API чат-ботов TrueConf Server](https://trueconf.ru/docs/chatbot-connector/ru/overview/);
42
+ - Быстрый старт с пакетом `python-trueconf-bot`;
43
+ - Современный и понятный Python API (`from trueconf import Bot`);
44
+ - Поддержка всех основных функций чат-ботов TrueConf Server.
45
+
46
+ > [!IMPORTANT]
47
+ > Функционал чат-ботов поддерживается начиная с версии TrueConf Server 5.5, а также в TrueConf Enterprise и TrueConf Server Free.
48
+
49
+ ## Пример бота
50
+
51
+ ```python
52
+ import asyncio
53
+ from trueconf import Bot, Dispatcher, Router, Message, F, ParseMode
54
+ from os import getenv
55
+
56
+ router = Router()
57
+ dp = Dispatcher()
58
+ dp.include_router(router)
59
+
60
+ TOKEN = getenv("TOKEN")
61
+
62
+ bot = Bot(server="video.example.com", token=TOKEN, dispatcher=dp)
63
+
64
+
65
+ @router.message(F.text)
66
+ async def echo(msg: Message):
67
+ await msg.answer(f"You says: **{msg.text}**", parse_mode=ParseMode.MARKDOWN)
68
+
69
+
70
+ async def main():
71
+ await bot.run()
72
+
73
+
74
+ if __name__ == "__main__":
75
+ asyncio.run(main())
76
+ ```
77
+
78
+ ## Документация и поддержка
79
+
80
+ 1. [Документация API чат-ботов TrueConf Server](https://trueconf.ru/docs/chatbot-connector/ru/overview/)
81
+ 2. [Документация python-trueconf-bot](https://trueconf.github.io/python-trueconf-bot/ru/)
82
+
83
+ Все обновления и релизы доступны в репозитории. Следите за статусом сборок и покрытием тестами.
84
+
85
+ ---
86
+
87
+ Начните создавать умных и надежных ботов для TrueConf уже сегодня с **python-trueconf-bot**!