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
|
venv
|
||||||
config.json
|
config.json
|
||||||
*.yaml
|
*.yaml
|
||||||
|
docs/
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
### Для разработчиков: сборка и запуск проекта
|
### Для разработчиков: сборка и запуск проекта
|
||||||
|
|
||||||
Вам потребуется собственный VPS или любой хост со статическим адресом или доменом.
|
Вам потребуется собственный VPS или любой хост со статическим адресом или доменом.
|
||||||
* Создайте файл .env и заполните его по образцу example.env. Вам нужно заполнить переменные:
|
* Создайте файл .env по образцу example.env. Вам нужно заполнить переменные:
|
||||||
* BOT_TOKEN - токен нового бота, получить у [@botfather](https://t.me/botfather)
|
* BOT_TOKEN - токен нового бота, получить у [@botfather](https://t.me/botfather)
|
||||||
* POSTGRES_PASSWORD - любой случайный пароль
|
* POSTGRES_PASSWORD - любой случайный пароль
|
||||||
* WEBHOOK_HOST - IP адрес или доменное имя сервера, на котором запускается проект
|
* 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