mirror of
https://github.com/civsocit/olgram.git
synced 2023-07-22 01:29:12 +03:00
documentation first iteration
This commit is contained in:
parent
7c6abd5558
commit
29d7118833
@ -2,3 +2,4 @@
|
||||
venv
|
||||
config.json
|
||||
*.yaml
|
||||
docs/
|
||||
|
@ -25,7 +25,7 @@
|
||||
### Для разработчиков: сборка и запуск проекта
|
||||
|
||||
Вам потребуется собственный VPS или любой хост со статическим адресом или доменом.
|
||||
* Создайте файл .env и заполните его по образцу example.env. Вам нужно заполнить переменные:
|
||||
* Создайте файл .env по образцу example.env. Вам нужно заполнить переменные:
|
||||
* BOT_TOKEN - токен нового бота, получить у [@botfather](https://t.me/botfather)
|
||||
* POSTGRES_PASSWORD - любой случайный пароль
|
||||
* WEBHOOK_HOST - IP адрес или доменное имя сервера, на котором запускается проект
|
||||
|
20
docs/Makefile
Normal file
20
docs/Makefile
Normal file
@ -0,0 +1,20 @@
|
||||
# Minimal makefile for Sphinx documentation
|
||||
#
|
||||
|
||||
# You can set these variables from the command line, and also
|
||||
# from the environment for the first two.
|
||||
SPHINXOPTS ?=
|
||||
SPHINXBUILD ?= sphinx-build
|
||||
SOURCEDIR = source
|
||||
BUILDDIR = build
|
||||
|
||||
# Put it first so that "make" without argument is like "make help".
|
||||
help:
|
||||
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
|
||||
.PHONY: help Makefile
|
||||
|
||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||
%: Makefile
|
||||
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
BIN
docs/images/start.jpg
Normal file
BIN
docs/images/start.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 113 KiB |
35
docs/make.bat
Normal file
35
docs/make.bat
Normal file
@ -0,0 +1,35 @@
|
||||
@ECHO OFF
|
||||
|
||||
pushd %~dp0
|
||||
|
||||
REM Command file for Sphinx documentation
|
||||
|
||||
if "%SPHINXBUILD%" == "" (
|
||||
set SPHINXBUILD=sphinx-build
|
||||
)
|
||||
set SOURCEDIR=source
|
||||
set BUILDDIR=build
|
||||
|
||||
if "%1" == "" goto help
|
||||
|
||||
%SPHINXBUILD% >NUL 2>NUL
|
||||
if errorlevel 9009 (
|
||||
echo.
|
||||
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
|
||||
echo.installed, then set the SPHINXBUILD environment variable to point
|
||||
echo.to the full path of the 'sphinx-build' executable. Alternatively you
|
||||
echo.may add the Sphinx directory to PATH.
|
||||
echo.
|
||||
echo.If you don't have Sphinx installed, grab it from
|
||||
echo.http://sphinx-doc.org/
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
||||
goto end
|
||||
|
||||
:help
|
||||
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
|
||||
|
||||
:end
|
||||
popd
|
38
docs/source/about.rst
Normal file
38
docs/source/about.rst
Normal file
@ -0,0 +1,38 @@
|
||||
О проекте
|
||||
===================================
|
||||
|
||||
Зачем нужен Olgram?
|
||||
------------
|
||||
|
||||
Olgram - это конструктор ботов обратной связи. Такие боты могут вам пригодиться, например:
|
||||
|
||||
Пример 1. Вы администрируете Telegram-канал и хотите дать своим подписчикам возможность связаться с вами,
|
||||
но не хотите оставлять свои личные контакты. Тогда вы можете создать бота обратной связи: подписчики будут писать
|
||||
боту, вы будете отвечать через бота анонимно.
|
||||
|
||||
Пример 2. Вы организуете небольшой call-центр в Telegram или группу технической поддержки. С помощью бота обратной
|
||||
связи вы можете принимать заявки от пользователей в общий чат ваших специалистов, обсуждать эти заявки и отвечать
|
||||
пользователям прямо из этого чата.
|
||||
|
||||
.. note::
|
||||
|
||||
Olgram - молодой развивающийся проект. Мы готовы расширить функционал бота под ваш сценарий использования, если он
|
||||
не является слишком узкоспециализированным и пригодится другим пользователям. Напишите нам по этому вопросу
|
||||
`@civsocit_feedback_bot <https://t.me/civsocit_feedback_bot>`_.
|
||||
|
||||
Почему не Livegram?
|
||||
------------
|
||||
|
||||
Наше принципиальное отличие от `Livegram <https://t.me/LivegramBot>`_ это открытость и безопасность.
|
||||
|
||||
* Olgram не хранит сообщения, которые вы пересылаете через него
|
||||
* Код нашего проекта `полностью открыт <https://github.com/civsocit/olgram>`_
|
||||
* Вы можете развернуть Olgram на своём собственном сервере (читайте :doc:`developer`)
|
||||
* Наши сервера находятся в Германии, мы не подконтрольны российскому или белорусскому правительству
|
||||
|
||||
Всё это позволяет вам использовать Olgram (в отличие от Livegram) в политических и других серьёзных проектах.
|
||||
|
||||
.. note::
|
||||
|
||||
Если у вас возникли вопросы по использованию бота, или вы нашли ошибку - напишите
|
||||
нам `@civsocit_feedback_bot <https://t.me/civsocit_feedback_bot>`_.
|
35
docs/source/conf.py
Normal file
35
docs/source/conf.py
Normal file
@ -0,0 +1,35 @@
|
||||
# Configuration file for the Sphinx documentation builder.
|
||||
|
||||
# -- Project information
|
||||
|
||||
project = 'Olgram'
|
||||
copyright = '2021, Civsocit'
|
||||
author = 'civsocit'
|
||||
|
||||
release = '0.1'
|
||||
version = '0.1.0'
|
||||
|
||||
# -- General configuration
|
||||
|
||||
extensions = [
|
||||
'sphinx.ext.duration',
|
||||
'sphinx.ext.doctest',
|
||||
'sphinx.ext.autodoc',
|
||||
'sphinx.ext.autosummary',
|
||||
'sphinx.ext.intersphinx',
|
||||
]
|
||||
|
||||
intersphinx_mapping = {
|
||||
'python': ('https://docs.python.org/3/', None),
|
||||
'sphinx': ('https://www.sphinx-doc.org/en/master/', None),
|
||||
}
|
||||
intersphinx_disabled_domains = ['std']
|
||||
|
||||
templates_path = ['_templates']
|
||||
|
||||
# -- Options for HTML output
|
||||
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
|
||||
# -- Options for EPUB output
|
||||
epub_show_urls = 'footnote'
|
34
docs/source/developer.rst
Normal file
34
docs/source/developer.rst
Normal file
@ -0,0 +1,34 @@
|
||||
Для разработчиков
|
||||
=================
|
||||
|
||||
Сборка и запуск
|
||||
---------------
|
||||
Вы можете развернуть Olgram на своём сервере. Вам потребуется собственный VPS или любой хост со статическим адресом
|
||||
или доменом.
|
||||
|
||||
1. Создайте файл .env и заполните его по образцу `example.env <https://github.com/civsocit/olgram/blob/main/example.env>`_
|
||||
Вам нужно заполнить переменные:
|
||||
|
||||
* ``BOT_TOKEN`` - токен нового бота, получить у `@botfather <https://t.me/botfather>`_
|
||||
* ``POSTGRES_PASSWORD`` - любой случайный пароль
|
||||
* ``WEBHOOK_HOST`` - IP адрес или доменное имя сервера, на котором запускается проект
|
||||
|
||||
2. Сохраните файл `docker-compose.yaml <https://github.com/civsocit/olgram/blob/main/docker-compose.yaml>`_
|
||||
и соберите его:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
(bash) $ sudo docker-compose up -d
|
||||
|
||||
Готово, ваш собственный Olgram запущен!
|
||||
|
||||
Дополнительно
|
||||
-------------
|
||||
|
||||
В docker-compose.yaml приведена минимальная конфигурация. Для использования в серьёзных проектах мы советуем:
|
||||
|
||||
* Приобрести домен и настроить его на свой хост
|
||||
* Наладить реверс-прокси и автоматическое обновление сертификатов - например, с помощью `Traefik <https://github.com/traefik/traefik>`_
|
||||
* Скрыть IP сервера с помощью `Cloudflire <https://www.cloudflare.com>`_, чтобы пользователи ботов не могли найти IP адрес хоста по Webhook бота.
|
||||
|
||||
Пример более сложной конфигурации есть в файле `docker-compose-full.yaml <https://github.com/civsocit/olgram/blob/main/docker-compose-full.yaml>`_
|
22
docs/source/index.rst
Normal file
22
docs/source/index.rst
Normal file
@ -0,0 +1,22 @@
|
||||
Добро пожаловать в документацию Olgram
|
||||
===================================
|
||||
|
||||
**Olgram** `@olgrambot <https://t.me/olgrambot>`_ это конструктор, который позволяет создавать боты обратной связи
|
||||
в Telegram. После подключения к Olgram пользователи вашего бота смогут писать сообщения, которые будут
|
||||
пересылаться вам в чат, где вы сможете на них ответить. Читайте больше о проекте в главе :doc:`about`.
|
||||
|
||||
Откройте главу :doc:`quick_start` чтобы приступить к созданию своего первого бота!
|
||||
|
||||
Оглавление
|
||||
--------
|
||||
|
||||
.. toctree::
|
||||
|
||||
about
|
||||
quick_start
|
||||
developer
|
||||
|
||||
.. note::
|
||||
|
||||
Если у вас возникли вопросы по использованию бота, или вы нашли ошибку - напишите
|
||||
нам `@civsocit_feedback_bot <https://t.me/civsocit_feedback_bot>`_.
|
27
docs/source/quick_start.rst
Normal file
27
docs/source/quick_start.rst
Normal file
@ -0,0 +1,27 @@
|
||||
Быстрый старт
|
||||
=====
|
||||
|
||||
Как создать бота
|
||||
------------
|
||||
|
||||
Перейдите по ссылке `@Olgram <https://t.me/olgrambot>`_ и нажмите Запустить:
|
||||
|
||||
|
||||
.. image:: ../images/start2.jpg
|
||||
:width: 300
|
||||
|
||||
TODO: дальше
|
||||
|
||||
Как изменить текст приветствия
|
||||
----------------
|
||||
|
||||
По-умолчанию ваш бот после запуска отправляет приветственное сообщение:
|
||||
|
||||
Здравствуйте! Напишите свой вопрос, и мы ответим вам в ближайшее время
|
||||
|
||||
TODO: дальше
|
||||
|
||||
Как привязать бота к групповому чату
|
||||
----------------
|
||||
|
||||
По-умолчанию вам бот пересылает сообщения от пользователей вам в личные сообщения.
|
8
pyproject.toml
Normal file
8
pyproject.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[build-system]
|
||||
requires = ["flit_core >=3.2,<4"]
|
||||
build-backend = "flit_core.buildapi"
|
||||
|
||||
[project]
|
||||
name = "olgram"
|
||||
authors = [{name = "civsocit", email = "feedback@civsoc.it"}]
|
||||
dynamic = ["version", "description"]
|
Loading…
Reference in New Issue
Block a user