SHA256
3.6 KiB
3.6 KiB
TEXT_CHANNEL_META: профиль канала
TEXT_CHANNEL_META — скрытый технический TEXT-блок для полного снимка профиля канала.
Блок
msg_type = 1subType = 70msgVersion = 1- body использует тот же бинарный формат line-текста, что и
TEXT_POST: line-поля +textLen+ UTF-8 текст.
Блок пишется только в линию канала владельца. В обычной ленте сообщений он не отображается как пользовательский пост.
Текстовый формат
В начале текста могут идти технические теги, после них обычный текст описания:
<SHiNE:title;v=1;Название канала>
<SHiNE:avatar;v=1;size=248193;sha256=3f2c8a...;ar=AbCdEf...>
Описание канала.
Поддерживаемые теги:
<SHiNE:title;v=1;...>— человекочитаемое имя канала.<SHiNE:avatar;v=1;size=...;sha256=...;ar=...>— аватар канала в Arweave.
Правила
- Каждый
TEXT_CHANNEL_METAзадаёт полный снимок состояния профиля канала. - Старые meta-блоки остаются в блокчейне как история, но текущее состояние берётся из последнего валидного meta-блока.
- Если
titleотсутствует, используется техническое имя канала. - Если
avatarотсутствует, аватар считается сброшенным. - Если описание после тегов отсутствует, описание считается пустым.
meta_updated_at_msравен времени самого валидного meta-блока.
Ограничения
- Длина
title— максимум 50 Unicode code points. - В
titleзапрещены<,>,;, табуляция, перевод строки и\0. - Длина описания — максимум 250 Unicode code points.
avatar.ar— Arweave transaction id из 43 символов.avatar.sha256— 64 hex-символа.avatar.size— положительный размер файла в байтах.
Если meta-блок невалиден, сервер не применяет его целиком.
UI
- При создании канала UI может сразу после
TECH_CREATE_CHANNELзаписать первыйTEXT_CHANNEL_METAс человекочитаемым именем, аватаром и описанием. - При создании канала UI показывает системную карточку
Создан канал .... - При записи
TEXT_CHANNEL_METAUI показывает системную карточкуИзменён профиль канала. - У системных карточек нет лайка, ответа, репоста, редактирования и других действий обычного сообщения.
- По клику на системную карточку показываются аватар, человекочитаемое имя и описание на момент этого события.
Замена старых команд
Команда /.desc больше не используется и не применяется сервером. Описание канала меняется только через TEXT_CHANNEL_META.