Compare commits
3 Commits
d5e30f8c36
...
0.2
| Author | SHA1 | Date | |
|---|---|---|---|
| b28b7c583d | |||
|
|
f8e9a528e2 | ||
|
|
9266d8f32b |
9
.dockerignore
Normal file
9
.dockerignore
Normal file
@@ -0,0 +1,9 @@
|
||||
.venv/
|
||||
session_storage/
|
||||
__pycache__/
|
||||
runtime/
|
||||
*.swp
|
||||
*.swo
|
||||
*.vscode
|
||||
*.json
|
||||
*.sqlite
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,6 +1,7 @@
|
||||
.venv/
|
||||
session_storage/
|
||||
__pycache__/
|
||||
runtime/
|
||||
*.swp
|
||||
*.swo
|
||||
*.vscode
|
||||
|
||||
16
Dockerfile
Normal file
16
Dockerfile
Normal file
@@ -0,0 +1,16 @@
|
||||
FROM python:3.12-slim
|
||||
|
||||
RUN apt-get update && apt-get install --no-install-recommends -y libolm3 libolm-dev git && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
COPY requirements.txt ./
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY . .
|
||||
|
||||
WORKDIR /runtime
|
||||
RUN chown -R 1000:1000 /usr/src /runtime
|
||||
|
||||
USER 1000:1000
|
||||
CMD [ "python", "/usr/src/app/main.py" ]
|
||||
40
README.md
40
README.md
@@ -4,7 +4,30 @@
|
||||
Раньше был бот с таким же функционалом, но для Telegram. Telegram больше не в
|
||||
почёте, и теперь у меня всё в локальном Matrix, поэтому бот тоже перенесён сюда.
|
||||
|
||||
## Подготовка окружения
|
||||
## Для запуска рекомендуется `docker`
|
||||
|
||||
1. [Скачайте образ](https://git.tyukalov.su/nikita/-/packages/container/2026-matrix-csonac) (измените версию на нужную вам):
|
||||
```bash
|
||||
sudo docker pull git.tyukalov.su/nikita/2026-matrix-csonac:0.2
|
||||
```
|
||||
2. Выполните первый запуск в интерактивном режиме
|
||||
```bash
|
||||
sudo mkdir runtime
|
||||
sudo chown 1000:1000 runtime
|
||||
sudo docker run -v ./runtime:/runtime -ti git.tyukalov.su/nikita/2026-matrix-csonac:0.2
|
||||
```
|
||||
3. В папке `runtime` появится файл `config.json`. Внесите туда нужные настройки
|
||||
4. Запустите ещё раз в интерактивном режиме, чтобы авторизоваться
|
||||
```bash
|
||||
sudo docker run -v ./runtime:/runtime -ti git.tyukalov.su/nikita/2026-matrix-csonac:0.2
|
||||
```
|
||||
5. Дальше можно запускать контейнер в фоне
|
||||
```bash
|
||||
sudo docker run -p 127.0.0.1:4980:4980 -v ./runtime:/runtime --detach git.tyukalov.su/nikita/2026-matrix-csonac:0.2
|
||||
```
|
||||
> Рекомендуется запускать контейнер при помощи `docker compose`.
|
||||
|
||||
## Запуск без `docker`
|
||||
|
||||
1. Клонируйте репозиторий и перейдите в его директорию
|
||||
```bash
|
||||
@@ -26,17 +49,6 @@ python main.py
|
||||
python main.py
|
||||
```
|
||||
|
||||
## Запуск
|
||||
|
||||
Для запуска приложения вы можете либо активировать `venv`, либо просто использовать полный путь до интерпретатора Python:
|
||||
```bash
|
||||
~/2026-matrix-downloader/.venv/bin/python main.py
|
||||
```
|
||||
```bash
|
||||
. .venv/bin/activate
|
||||
python main.py
|
||||
```
|
||||
|
||||
## Как работает бот
|
||||
|
||||
Для каждой службы (канала уведомлений) создаётся своя собственная комната и в
|
||||
@@ -72,7 +84,7 @@ python main.py
|
||||
```
|
||||
2. Использовать URL параметр `token`. Например:
|
||||
```plain
|
||||
https://csonac.su/notify?token=f1829e94d...
|
||||
https://csonac.su/api/notify?token=f1829e94d...
|
||||
```
|
||||
Рекомендуется использовать первый способ (HTTP-заголовок), так как это позволяет
|
||||
избежать раскрытия токена в логах сервера и других местах, где можно посмотреть
|
||||
@@ -83,7 +95,7 @@ URL прошлых запросов.
|
||||
> токен будет украден.
|
||||
|
||||
Доступные эндпоинты:
|
||||
- `GET /notify`
|
||||
- `GET /api/notify`
|
||||
- **Описание.** Используется, чтобы отправить уведомление в канал.
|
||||
- **Параметры запроса**
|
||||
- `channel` - код канала, получаемый при помощи команды `!info`,
|
||||
|
||||
@@ -34,7 +34,7 @@ idna==3.19
|
||||
Jinja2==3.1.6
|
||||
jsonschema==4.26.0
|
||||
jsonschema-specifications==2025.9.1
|
||||
mab @ git+https://git.tyukalov.su/nikita/mab@c3046307c7bc4e65113aab62b07bad2a148b49e5
|
||||
mab @ git+https://git.tyukalov.su/nikita/mab@v0.0.2
|
||||
markdown-it-py==4.2.0
|
||||
MarkupSafe==3.0.3
|
||||
matrix-nio==0.26.0
|
||||
|
||||
Reference in New Issue
Block a user