Vengo algo atrasado revisando la documentación de los últimos NIPs asi que voy a tratar de ir escribiendo sobre alguno que otro cada tanto.
Hoy encaro uno que es el NIP-28 - "Public Chat"
Con este NIP se establecen las condiciones basicas para que Nostr de soporte a apps de chat grupal, como un grupo abierto de telegram.
Este NIP (28) no es el que se mete en el mundo de mensajes directos entre usuarios cifrados que es el 04
El NIP-28 define 5 nuevos tipos de eventos 40 a 44. (Un evento en Nostr es cualquier interaccion con el protocolo como creacion de usuario, posteo, follow, block, dm)
• 40: channel create
• 41: channel metadata
• 42: channel message
• 43: hide message
• 44: mute user
**Evento 40 - Creacion del canal**
Al momento de crear un canal el evento tiene que soportar nombre, about y foto.
Abajo un evento de ejemplo, cambiando el kind y el content pasamos de usar ese json para postear o mandar un dm a crear un canal.

**Evento 41 - Editar el canal**
El evento 41 es la evolucion logica del 40, si se puede crear un canal y un dia le queremos cambiar la foto, nombre o descripcion se deberia poder pisar ese evento.
Como sabe que canal edita? en el tag de tipo e referenciamos el evento 40 previo.
En las instrucciones del evento 41 dice:
"Clients SHOULD ignore kind 41s from pubkeys other than the kind 40 pubkey."
Por eso y por los eventos que se reservan vemos que nostr aun no soporta el rol de un editor o admin del canal que no sea su creador.

**Evento tipo 42 - mandar un mensaje**
A la hora de mandar un mensaje, en el content va el mensaje. En el tag de tipo e indicamos en que canal lo estamos mandando y si es un mensaje suelto o un reply a un mensaje previo. Si es una respuesta usamos el tag p para marcar el original

**Evento tipo 43 - Ocultar un mensaje** ❌
No queres ver mas un mensaje y ocultarlo, disparas un evento 43. Podes opcionalmente poner la razon. El cliente puede decidir si ocultarselo al resto (por ejemplo si al menos x cantidad de personas lo oculta)

**Evento tipo 44 - Mutear a un usuario**
Te cansaste de alguien del chat, disparas un evento tipo 44 y el cliente te deberia ocultar todos sus mensajes, como el 43 pero en bulk.
El cliente decide si lo oculta al resto de los usuarios o no.

Por ahora no hay muchos clients que esten usando esta nip, pero si quieren probarlo pueden jugar con la beta de Arc
Tambien coracle.social tiene una buena implementacion. Aca por ejemplo su formulario para el evento de tipo 40

Muy buen artículo! Personalmente uso https://www.nostrchat.io y https://garnet.nostrian.net para las salas de chat públicas.
Where my #armiptstr gang at?
Love their work too. I really enjoy reading #[2] thoughts about nostr and #[3] has great guides for self sovereign Bitcoin and Lightning use.
I use the a tag to link reactions, comments and zaps with nip-33 events. Can't rely on id for replaceable events.
one of the beautiful things about nostr is that nobody can kick you out 🔗💥
En la boca un fandanguillo
traigo a su disposición.
En el pecho un corazón
y en esta mano un cuchillo
cargaíto de razón.
https://www.youtube.com/watch?v=z0DC3HqGMKg&ab_channel=IsraelFernandezCantaor
para el que quiera escuchar la original, Farina y Porrina mano a mano https://www.youtube.com/watch?v=LPzh1tmzqdc&t=2s&ab_channel=luisfernandez
En la boca un fandanguillo
traigo a su disposición.
En el pecho un corazón
y en esta mano un cuchillo
cargaíto de razón.
https://www.youtube.com/watch?v=z0DC3HqGMKg&ab_channel=IsraelFernandezCantaor
pues se reúnen varias personas que tienen proyectos sobre nostr y dan charlas en directo para una audiencia técnica, echa un ojo a https://www.youtube.com/@428-lab/streams
Si estaba loco por ti
me preguntaste un día.
Maldita lengua la mía
cuando le dijo que sí
a quien no lo merecía.
Me encanta la iniciativa #nostrstudy de los desarrolladores Nostr de Japón. Y si hacemos algo parecido en español? Tenemos a gente con mucho nivel y proyectos interesantes.
#[0]
Spent way too much time trying to improve https://habla.news/
It already shows bounties differently than other long-form posts but at the cost of bounties being a consideration in more files than I liked, so I tried to clean that up and ... for only two cases it's not worth the effort. But I learned a thing or two.
The other idea was to turn Habla into a personal blog. Come to my website and see only my posts but go to Habla.news and see them there, too. Got it to work but for being worth it, the styling would need some changes. Visitors to a personal blog don't want to get scared with relays and other bells and whistles.
For personal blogs (pubkey and relays are known) I think the way to go is to use nostr to store/fetch the content and generate a static site. Only reactions, comments and zaps need to be dynamic.
First, make it not suck, prerender long form content and og tags on server side and have a decent UI/UX. Have a good onboarding for writers that know nothing about nostr but would benefit from censorship-resistance and frictionless monetization, make it super easy to start writing content and getting zapped ⚡ Improve content and relay discoverabilty. Provide paid extra features for power users (writers and readers).
+1, would love to explore this
wrote about some cool uses of badges https://habla.news/a/naddr1qqrxyctyvajhxqgwwaehxw309ahx7uewd3hkctcpz9mhxue69uhkummnw3ezuamfdejj7qgnwaehxw309ahkvenrdpskjm3wwp6kytcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz8mhwden5te0dehhxarj94ex2mrp0yhxummtda6xzun09e3k7mf0qgs8lft0t45k92c78n2zfe6ccvqzhpn977cd3h8wnl579zxhw5dvr9qrqsqqqa28ay85pj
very useful feature 👏
Looks like there's a bug, will fix asap.


?cid=2154d3d7m84dnr2qs0w04oa527r2ml1ro0evm9pn7rqfyn8q&rid=giphy.gif&ct=g