Emoji บน Nostr

บน nostr นั้นการกด reaction (kind 7) ในแต่ละโพสต์นั้นค่อนข้างแตกต่างกับโซเชียลมีเดียอื่น ๆ เป็นอย่างมากเนื่องจากผู้ใช้ทุกคนสามารถที่จะออกแบบและเลือกใช้อิโมจิอะไรก็ได้ที่ตัวผู้ใช้นั้น ๆ ต้องการ โดย emoji จะถูกเก็บอยู่ในลักษณะของ list (NIP-51) เหมือนกับพวก following list, mute list แต่การใช้งานจริง ๆ ทำได้หลากหลายมากกว่านั้น เช่นการจับลง kind 0 หรือ kind 1 ก็สามารถทำได้เช่นกัน ทีนี้เรามาลองดูโครงสร้าง event ของ list emoji กันดีกว่า

{

"id": "c25122084feb5b70c4c141c515e91dfb6a65c494dae2baf091839ff88a4cc0c3",

"pubkey": "66df60562d939ada8612436489945a4ecf1d62346b3d9478dea8a338f3203c64",

"created_at": 1710736175,

"kind": 30030,

"tags": [

[ "d", "ชื่อเซตอิโมจิ"],

["emoji","ชื่อสั้น ๆ ","httpรูปหรือ gif"],

[ "emoji","ชื่อสั้น ๆ ""httpรูปหรือ gif"],

["emoji","ชื่อสั้น ๆ ","httpรูปหรือ gif"],

[ "emoji","ชื่อสั้น ๆ ""httpรูปหรือ gif"],

"content": "",

"sig": "c4fb0626619fc0881d859570d0d00d72f7a429aca53a322768a6a0c69ddb00e44a87b65bf75a07eb7647407b78803f76720e22eed0724d554470d30371ab1173"

}

อย่างที่เห็นว่าจุดแตกต่างของ event ที่ทำให้ client ต่าง ๆ รู้ว่ามันคืออีโมจิคือ tag "d"(identifier) และ "emoji" และต้องมีโครงสร้างดังนี้ ["emoji", , ]

เมื่อทำการเผยแพร่ event ในลักษณะนี้แล้วเราก็จะได้ list ของอิโมจิออกมาแบบนี้

nostr:naddr1qvzqqqr4fcpzqeklvptzmyu6m2rpysmy3x295nk0r43rg6eaj3uda29r8rejq0ryqqzy2629dyep8v76

ส่วนถ้าเราต้องการนำ emoji ที่เราสร้างไปใส่ในหน้าโปรไฟล์หรือเวลาเราโพสต์เราต้องทำอย่างไร ?

โปรไฟล์(kind 0)

{

"kind": 0,

"content": "{\"name\":\"Alex Gleason :soapbox:\"}",

"tags": [

["emoji", "soapbox", "http s://gleasonator.com/emoji/Gleasonator/soapbox.png"]

],

"pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6",

"created_at": 1682790000

}

ใน part ของโปรไฟล์นั้นเพียงแค่เราเพิ่ม shortcode ลงไปในจุดที่เราต้องการใส่และทำการเพิ่ม emoji ใน tag ก็สามารถใช้ได้แล้ว และในทำนองเดียวกันสำหรับการโพสต์ (kind 1)

{

"kind": 1,

"content": "Hello :gleasonator: 😂 :ablobcatrainbow: :disputed: yolo",

"tags": [

["emoji", "ablobcatrainbow", "https: //gleasonator.com/emoji/blobcat/ablobcatrainbow.png"],

["emoji", "disputed", "https: //gleasonator.com/emoji/Fun/disputed.png"],

["emoji", "gleasonator", "https: //gleasonator.com/emoji/Gleasonator/gleasonator.png"]

],

"pubkey": "79c2cae114ea28a981e7559b4fe7854a473521a8d22a66bbab9fa248eb820ff6",

"created_at": 1682630000

}

และประเภทสุดท้ายของการใช้ emoji บน nostr และหน้าจะเป็นประเภทที่หลาย ๆ คนใช้กันมากที่สุดอย่างการกด reaction ด้วย emoji จะมี event หน้าตาประมาณนี้

{

"kind": 7,

"content": ":soapbox:",

"tags": [

["emoji", "soapbox", "https ://gleasonator.com/emoji/Gleasonator/soapbox.png"]

],

...other fields

}

ทั้งหมดนี้คือวิธีการใช้อิโมจิต่าง ๆ บน nostr ซึ่งจัดเป็นอีกฟังก์ชั่นที่น่าสนใจมาก ๆ ในการเพิ่มสีสันให้สังคม nostr โดยในปัจจุบันมีหลาย ๆ client ได้รองรับการใช้ custom emoji เหล่านี้แล้วส่วนวิธีการสร้างแบบง่าย ๆ โดยที่ไม่ต้องสนใจสิ่งที่กล่าวมาข้างต้นนั้นสามารถทำได้บน emojito.meme หรือ Nostrudel ได้เลย

#siamstr

Reply to this note

Please Login to reply.

Discussion

No replies yet.