pleroma-cli/README.md
2022-08-06 16:36:30 +03:00

75 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# pleroma-cli
Эта ветка содержит прототип клиента, где взаимодействие с статусами\постами будет происходить через файлы
## Схема дерева файлов-постов сгруппированных по аккаунтам
```
[statuses]
|
|-[instance]
| |---[acct]
| | |
| | |--- [status_id]
| | | |
| | | |---content
| | | |---status-id.json
| | | |---reblog.id
| | | |---media_attachments.m3u8
| |... |--- ...
|...
```
## Группировка по timelines
```
[timelines]
|
|-[instance]
| |--------[home]--[status_id]--...files
| |--------[local]--[status_id]--...files
| ...
...
```
На данный момент статусы теперь линкуются из папки all_statuses/$instance, где содержатся не сгруппированные посты
Время файлов внутри папки с постом ([status_id]) соответствует времени поста
## Что доступно:
### Режим мониторинга файлов и автообновление ленты (пока только home)
```
daemon_mode=yes instance=example ./pleroma-cli.sh
```
# Отправка постов
Чтобы отправить пост, нужно в папке all_statuses/$instance создать файл message и записать туда пост, затем создать файл create там же
(Для добавления вложений нужно создать папку attachments и положить туда файлы для отправки)
### Частичное взаимодействие с постами:
Чтобы добавить в избранное или бустануть пост нужно в папке с постом создать файл favourite и\или share
```
touch favourite
touch share
```
### Ответ на пост
Чтобы ответить на пост нужно в папке с постом создать файл message и написать туда свой ответ, затем создать файл reply
### Чтение
Учитывая то, что каждый пост-статус это файл, то вы можете вывести все посты за раз например так:
```
# Сортированный вывод текcтов всех постов в хронологическом порядке
cat $(/bin/ls all_statuses/instance.example/*/content --sort=time) | less
# все тексты постов
cat all_statuses/instance.example/*/content
# все тексты постов пользователя
cat statuses/instance.example/nick@abc/*/content
# Посмотреть все мультимедия вложения
cat all_statuses/instance.example/*/media_attachments.m3u8 | mpv --playlist=-
# Прочие "игры" с постами, например узнать кто более активен в вашем инстансе среди загруженных постов
cat all_statuses/instance.example/*/*.json | jj -l '..#.account.acct' | sort | uniq -c | sort -r
```