localhost_frssoft 9dd9995538 Removed license; Added CC0 public domain copying | 2 роки тому | |
---|---|---|
utils | 2 роки тому | |
COPYING | 2 роки тому | |
README.md | 2 роки тому | |
config.json | 2 роки тому | |
pleroma-cli.sh | 2 роки тому |
Эта ветка содержит прототип клиента, где взаимодействие с статусами\постами будет происходить через файлы
[statuses]
|
|-[instance]
| |---[acct]
| | |
| | |--- [status_id]
| | | |
| | | |---content
| | | |---status-id.json
| | | |---reblog.id
| | | |---media_attachments.m3u8
| |... |--- ...
|...
[timelines]
|
|-[instance]
| |--------[home]--[status_id]--...files
| |--------[local]--[status_id]--...files
| ...
...
На данный момент статусы теперь линкуются из папки all_statuses/$instance, где содержатся не сгруппированные посты
Время файлов внутри папки с постом ([status_id]) соответствует времени поста
daemon_mode=yes instance=example ./pleroma-cli.sh
Чтобы отправить пост, нужно в папке all_statuses/$instance создать файл message и записать туда пост, затем создать файл create там же (Для добавления вложений нужно создать папку attachments и положить туда файлы для отправки)
Чтобы добавить в избранное или бустануть пост нужно в папке с постом создать файл favourite и\или share Открыть тред, аналогично: threadopen
touch favourite
touch share
touch threadopen
Чтобы ответить на пост нужно в папке с постом создать файл message и написать туда свой ответ, затем создать файл reply
Учитывая то, что каждый пост-статус это файл, то вы можете вывести все посты за раз например так:
# Сортированный вывод текcтов всех постов в хронологическом порядке
cat $(/bin/ls all_statuses/instance.example/*/content --sort=time) | less
# На самом деле FlakeId сам по себе сортируется по имени от старых к новым
# все тексты постов
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