Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bibo-joshi/sphinx-doc-bot

Telegram bot that lets your search Sphinx based documentation.
https://github.com/bibo-joshi/sphinx-doc-bot

python-telegram-bot sphinx-doc

Last synced: 9 days ago
JSON representation

Telegram bot that lets your search Sphinx based documentation.

Awesome Lists containing this project

README

        

Sphinx Doc Bot
==============

.. image:: https://img.shields.io/badge/User-Guide-orange?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iLTEgLTI1NiAxNjY1LjMyODIgMTUzNiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45Mi40ICg1ZGE2ODljMzEzLCAyMDE5LTAxLTE0KSIKICAgd2lkdGg9IjE2NjUuMzI4MiIKICAgaGVpZ2h0PSIxNTM2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJCb29rX2ZvbnRfYXdlc29tZS5zdmciCiAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT0iQzpcVXNlcnNcSGlucmljaFxEZXNrdG9wXEJvb2tfZm9udF9hd2Vzb21lLnBuZyIKICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjUuNzYwMDAwMiIKICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjUuNzYwMDAwMiI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMzAzNSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczMwMzMiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxODAwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwNTkiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMDkzMTIzNDM4IgogICAgIGlua3NjYXBlOmN4PSI5MDguNDE4NzIiCiAgICAgaW5rc2NhcGU6Y3k9IjcxNC4xMzg4NCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTkiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii05IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMzAyNSIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvciIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoMzAyOSIKICAgICBkPSJtIDE2MzguNTIxNyw5NCBxIDQwLDU3IDE4LDEyOSBsIC0yNzUsOTA2IHEgLTE5LDY0IC03Ni41LDEwNy41IC01Ny41LDQzLjUgLTEyMi41LDQzLjUgSCAyNTkuNTIxNzQgcSAtNzcsMCAtMTQ4LjUsLTUzLjUgUSAzOS41MjE3MzksMTE3MyAxMS41MjE3MzksMTA5NSBxIC0yNCwtNjcgLTEuOTk5OTk5OSwtMTI3IDAsLTQgMi45OTk5OTk5LC0yNyAzLC0yMyA0LC0zNyAxLC04IC0zLC0yMS41IC0zLjk5OTk5OTksLTEzLjUgLTMsLTE5LjUgMiwtMTEgOCwtMjEgNiwtMTAgMTYuNSwtMjMuNSAxMC41LC0xMy41IDE2LjUsLTIzLjUgMjMsLTM4IDQ1LC05MS41IDIyLjAwMDAwMSwtNTMuNSAzMC4wMDAwMDEsLTkxLjUgMywtMTAgMC41LC0zMCAtMi41LC0yMCAtMC41LC0yOCAzLC0xMSAxNywtMjggMTQsLTE3IDE3LC0yMyAyMSwtMzYgNDIsLTkyIDIxLC01NiAyNSwtOTAgMSwtOSAtMi41LC0zMiAtMy41LC0yMyAwLjUsLTI4IDQsLTEzIDIyLC0zMC41IDE4LC0xNy41IDIyLC0yMi41IDE5LC0yNiA0Mi41LC04NC41IDIzLjUsLTU4LjUgMjcuNSwtOTYuNSAxLC04IC0zLC0yNS41IC00LC0xNy41IC0yLC0yNi41IDIsLTggOSwtMTggNywtMTAgMTgsLTIzIDExLC0xMyAxNywtMjEgOCwtMTIgMTYuNSwtMzAuNSA4LjUsLTE4LjUgMTUsLTM1IDYuNSwtMTYuNSAxNiwtMzYgOS41LC0xOS41IDE5LjUsLTMyIDEwLC0xMi41IDI2LjUsLTIzLjUgMTYuNSwtMTEgMzYsLTExLjUgMTkuNSwtMC41IDQ3LjUsNS41IGwgLTEsMyBxIDM4LC05IDUxLC05IGggNzYwLjk5OTk2IHEgNzQsMCAxMTQsNTYgNDAsNTYgMTgsMTMwIGwgLTI3NCw5MDYgcSAtMzYsMTE5IC03MS41LDE1My41IC0zNS41LDM0LjUgLTEyOC41LDM0LjUgSCAxNTUuNTIxNzQgcSAtMjcsMCAtMzgsMTUgLTExLDE2IC0xLDQzIDI0LDcwIDE0NCw3MCBoIDkyMi45OTk5NiBxIDI5LDAgNTYsLTE1LjUgMjcsLTE1LjUgMzUsLTQxLjUgbCAzMDAsLTk4NyBxIDcsLTIyIDUsLTU3IDM4LDE1IDU5LDQzIHogTSA1NzQuNTIxNzQsOTYgcSAtNCwxMyAyLDIyLjUgNiw5LjUgMjAsOS41IGggNjA3Ljk5OTk2IHEgMTMsMCAyNS41LC05LjUgMTIuNSwtOS41IDE2LjUsLTIyLjUgbCAyMSwtNjQgcSA0LC0xMyAtMiwtMjIuNSAtNiwtOS41IC0yMCwtOS41IEggNjM3LjUyMTc0IHEgLTEzLDAgLTI1LjUsOS41IC0xMi41LDkuNSAtMTYuNSwyMi41IHogbSAtODMsMjU2IHEgLTQsMTMgMiwyMi41IDYsOS41IDIwLDkuNSBoIDYwNy45OTk5NiBxIDEzLDAgMjUuNSwtOS41IDEyLjUsLTkuNSAxNi41LC0yMi41IGwgMjEsLTY0IHEgNCwtMTMgLTIsLTIyLjUgLTYsLTkuNSAtMjAsLTkuNSBIIDU1NC41MjE3NCBxIC0xMywwIC0yNS41LDkuNSAtMTIuNSw5LjUgLTE2LjUsMjIuNSB6IiAvPgo8L3N2Zz4K
:target: https://Bibo-Joshi.github.io/sphinx-doc-bot/userguide.html
:alt: User Guide

.. image:: https://img.shields.io/badge/python-3.8+-blue?logo=python&logoColor=white
:target: https://www.python.org/doc/versions/
:alt: Supported Python versions

.. image:: https://img.shields.io/badge/backend-python--telegram--bot-blue
:target: https://python-telegram-bot.org/
:alt: Backend: python-telegram-bot

.. image:: https://img.shields.io/badge/frontend%20for-Sphinx%20Docs-green
:target: https://sphinx-doc.org/
:alt: Frontend for: Sphinx-based Documentation

.. image:: https://img.shields.io/badge/documentation-is%20here-orange?logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iLTEgLTI1NiAxNjY1LjMyODIgMTUzNiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45Mi40ICg1ZGE2ODljMzEzLCAyMDE5LTAxLTE0KSIKICAgd2lkdGg9IjE2NjUuMzI4MiIKICAgaGVpZ2h0PSIxNTM2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJCb29rX2ZvbnRfYXdlc29tZS5zdmciCiAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT0iQzpcVXNlcnNcSGlucmljaFxEZXNrdG9wXEJvb2tfZm9udF9hd2Vzb21lLnBuZyIKICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjUuNzYwMDAwMiIKICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjUuNzYwMDAwMiI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMzAzNSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczMwMzMiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxODAwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwNTkiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMDkzMTIzNDM4IgogICAgIGlua3NjYXBlOmN4PSI5MDguNDE4NzIiCiAgICAgaW5rc2NhcGU6Y3k9IjcxNC4xMzg4NCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTkiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii05IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMzAyNSIgLz4KICA8cGF0aAogICAgIHN0eWxlPSJmaWxsOmN1cnJlbnRDb2xvciIKICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgIGlkPSJwYXRoMzAyOSIKICAgICBkPSJtIDE2MzguNTIxNyw5NCBxIDQwLDU3IDE4LDEyOSBsIC0yNzUsOTA2IHEgLTE5LDY0IC03Ni41LDEwNy41IC01Ny41LDQzLjUgLTEyMi41LDQzLjUgSCAyNTkuNTIxNzQgcSAtNzcsMCAtMTQ4LjUsLTUzLjUgUSAzOS41MjE3MzksMTE3MyAxMS41MjE3MzksMTA5NSBxIC0yNCwtNjcgLTEuOTk5OTk5OSwtMTI3IDAsLTQgMi45OTk5OTk5LC0yNyAzLC0yMyA0LC0zNyAxLC04IC0zLC0yMS41IC0zLjk5OTk5OTksLTEzLjUgLTMsLTE5LjUgMiwtMTEgOCwtMjEgNiwtMTAgMTYuNSwtMjMuNSAxMC41LC0xMy41IDE2LjUsLTIzLjUgMjMsLTM4IDQ1LC05MS41IDIyLjAwMDAwMSwtNTMuNSAzMC4wMDAwMDEsLTkxLjUgMywtMTAgMC41LC0zMCAtMi41LC0yMCAtMC41LC0yOCAzLC0xMSAxNywtMjggMTQsLTE3IDE3LC0yMyAyMSwtMzYgNDIsLTkyIDIxLC01NiAyNSwtOTAgMSwtOSAtMi41LC0zMiAtMy41LC0yMyAwLjUsLTI4IDQsLTEzIDIyLC0zMC41IDE4LC0xNy41IDIyLC0yMi41IDE5LC0yNiA0Mi41LC04NC41IDIzLjUsLTU4LjUgMjcuNSwtOTYuNSAxLC04IC0zLC0yNS41IC00LC0xNy41IC0yLC0yNi41IDIsLTggOSwtMTggNywtMTAgMTgsLTIzIDExLC0xMyAxNywtMjEgOCwtMTIgMTYuNSwtMzAuNSA4LjUsLTE4LjUgMTUsLTM1IDYuNSwtMTYuNSAxNiwtMzYgOS41LC0xOS41IDE5LjUsLTMyIDEwLC0xMi41IDI2LjUsLTIzLjUgMTYuNSwtMTEgMzYsLTExLjUgMTkuNSwtMC41IDQ3LjUsNS41IGwgLTEsMyBxIDM4LC05IDUxLC05IGggNzYwLjk5OTk2IHEgNzQsMCAxMTQsNTYgNDAsNTYgMTgsMTMwIGwgLTI3NCw5MDYgcSAtMzYsMTE5IC03MS41LDE1My41IC0zNS41LDM0LjUgLTEyOC41LDM0LjUgSCAxNTUuNTIxNzQgcSAtMjcsMCAtMzgsMTUgLTExLDE2IC0xLDQzIDI0LDcwIDE0NCw3MCBoIDkyMi45OTk5NiBxIDI5LDAgNTYsLTE1LjUgMjcsLTE1LjUgMzUsLTQxLjUgbCAzMDAsLTk4NyBxIDcsLTIyIDUsLTU3IDM4LDE1IDU5LDQzIHogTSA1NzQuNTIxNzQsOTYgcSAtNCwxMyAyLDIyLjUgNiw5LjUgMjAsOS41IGggNjA3Ljk5OTk2IHEgMTMsMCAyNS41LC05LjUgMTIuNSwtOS41IDE2LjUsLTIyLjUgbCAyMSwtNjQgcSA0LC0xMyAtMiwtMjIuNSAtNiwtOS41IC0yMCwtOS41IEggNjM3LjUyMTc0IHEgLTEzLDAgLTI1LjUsOS41IC0xMi41LDkuNSAtMTYuNSwyMi41IHogbSAtODMsMjU2IHEgLTQsMTMgMiwyMi41IDYsOS41IDIwLDkuNSBoIDYwNy45OTk5NiBxIDEzLDAgMjUuNSwtOS41IDEyLjUsLTkuNSAxNi41LC0yMi41IGwgMjEsLTY0IHEgNCwtMTMgLTIsLTIyLjUgLTYsLTkuNSAtMjAsLTkuNSBIIDU1NC41MjE3NCBxIC0xMywwIC0yNS41LDkuNSAtMTIuNSw5LjUgLTE2LjUsMjIuNSB6IiAvPgo8L3N2Zz4K
:target: https://Bibo-Joshi.github.io/sphinx-doc-bot/
:alt: Documentation

.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code Style Black

.. image:: https://img.shields.io/badge/example%20instance-on%20Telegram-blue.svg?logo=Telegram
:target: https://t.me/PythonDocBot
:alt: Example Instance

.. image:: https://results.pre-commit.ci/badge/github/Bibo-Joshi/sphinx-doc-bot/main.svg
:target: https://results.pre-commit.ci/latest/github/Bibo-Joshi/sphinx-doc-bot/main
:alt: pre-commit.ci status

A Telegram bot that lets you search Sphinx based documentation. Head `here `_ for the user guide. An instance searching the `Python docs `_ can be found at `@PythonDocBot `_.

Disclaimers:
------------

This project

* is *not* officially associated with `Sphinx `_
* does *not* offer a bot that can search any Sphinx documentation. For the Python docs, the author hosts `@PythonDocBot `_, for everything else you'll need to set up your own bot.
* is heavily inspired by `@roolsbot `_, which allows to search the docs of `python-telegram-bot `_.

What this project does
----------------------

`Sphinx `_ is an open source documentation generator originally created for the Python documentation and is widely used to document Python packages. This projects allows to deploy a Telegram Bot which can be used to search the documentation of the Sphinx documentation of your choice.

Setting things up
-----------------

To set up a bot, you only need to install the dependencies via ``pip install -r requirements.txt`` and fill the ``bot.ini`` configuration file:

* ``token``: your bots token
* ``admins_chat_id``: your Telegram ID. Used to send error reports
* ``docs_url``: The URL where your Sphinx documentation is hosted.
* ``cache_timeout``: The documentation is fetched in a cached manner, i.e. the short URLS are retrieved at most every ``cache_timeout`` minutes.
Defaults to 60 minutes.

That's it. Run the bot via ``python main.py``. 🤖