2 Star 0 Fork 0

mirrors_mattn/nips-ja

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
25.md 3.69 KB
一键复制 编辑 原始数据 按行查看 历史
Yuta Uchijo 提交于 1年前 . Update 25.md

NIP-25

リアクション

draft optional

リアクションとはkind 7のイベントであり、他のイベントに対しての反応を表現するために使用される。

content+の文字列のものが汎用的なリアクションとして定められており、 これは「いいね」または「賛成」(それぞれ原文ではlike, upvote)として解釈されるべきである (SHOULD) 。

content-であるリアクションは「低評価」または「反対」(それぞれ原文ではdislike, downvote)として解釈されるべきである (SHOULD) 。 また、これらは「いいね」としてカウントされるべきではなく (SHOULD NOT) 、 低評価・反対として投稿に表示してよい (MAY) 。 クライアントはこれらを表示する際、redditのように高評価数-低評価数として1つの数値に集計して表示するか、 あるいはそのまま分けて表示してよい (MAY) 。

contentには、絵文字及びカスタム絵文字(NIP-30)を利用してもよく (MAY) 、この場合「高評価」あるいは「低評価」として解釈してもよい (MAY) 。 また、クライアントは絵文字によるリアクションを投稿に表示してもよい (MAY) 。 もしcontentが空文字列だった場合は、クライアントはそれを"+"として解釈すべきである。

タグ

リアクションイベントには、リアクション対象としているイベントに含まれるe及びpタグを含めるべきである (SHOULD) 。 これにより、各ユーザはメンションされている投稿へのリアクションがあった際、通知を受け取ることが可能になる。 また、クライアントはこのようにして付与されたeタグを使用することで、1つの投稿あるいはスレッド全体に関連する リアクションを取得することが可能となる。

タグのリストの中で最後に現れるeタグでは、リアクション対象となるノートのidを指定しなければならない (MUST) 。

タグのリストの中で最後に現れるpタグでは、リアクション対象となるイベントのpubkeyを指定しなければならない (MUST) 。

リアクションイベントには、リアクションされたイベントの文字列化されたkind番号を値とする kタグを含めてもよい (MAY) 。

Example code

func make_like_event(pubkey: String, privkey: String, liked: NostrEvent) -> NostrEvent {
    var tags: [[String]] = liked.tags.filter { 
    	tag in tag.count >= 2 && (tag[0] == "e" || tag[0] == "p") 
    }
    tags.append(["e", liked.id])
    tags.append(["p", liked.pubkey])
    tags.append(["k", liked.kind])
    let ev = NostrEvent(content: "+", pubkey: pubkey, kind: 7, tags: tags)
    ev.calculate_id()
    ev.sign(privkey: privkey)
    return ev
}

カスタム絵文字によるリアクション

クライアントは、リアクション内容としてNIP-30のカスタム絵文字における:shortcode:を使用してもよい。 ショートコードがリアクションに含まれる場合、クライアントはemojiタグを参照し、 その内容を絵文字として描画すべきである。

{
  "kind": 7,
  "content": ":soapbox:",
  "tags": [
    ["emoji", "soapbox", "https://gleasonator.com/emoji/Gleasonator/soapbox.png"]
  ],
  "pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6",
  "created_at": 1682790000
}

contentに含めて良い:shortcode:は1つのみで、emojiタグについても同様に1つのみ指定可能である。

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors_mattn/nips-ja.git
git@gitee.com:mirrors_mattn/nips-ja.git
mirrors_mattn
nips-ja
nips-ja
main

搜索帮助