Avatar
verbiricha
7fa56f5d6962ab1e3cd424e758c3002b8665f7b0d8dcee9fe9e288d7751ac194
nostr CEO (Chief Emoji Officer)
Replying to Avatar Fermin RP

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.

![](https://pbs.twimg.com/media/FtZHz8naAAQgjCx?format=jpg&name=large)

**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.

![](https://pbs.twimg.com/media/FtZH0bcaAAArT-l?format=jpg&name=large)

**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

![](https://pbs.twimg.com/media/FtZH1CYaEAAbkys?format=jpg&name=large)

**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)

![](https://pbs.twimg.com/media/FtZH1hzaQAAzMwo?format=jpg&name=large)

**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.

![](https://pbs.twimg.com/media/FtZH19VaUAAqbfq?format=jpg&name=large)

Por ahora no hay muchos clients que esten usando esta nip, pero si quieren probarlo pueden jugar con la beta de Arc

https://thearcapp.com/

Tambien coracle.social tiene una buena implementacion. Aca por ejemplo su formulario para el evento de tipo 40

![](https://pbs.twimg.com/media/FtZI_G5XoAAkCD3?format=jpg&name=4096x4096)

Muy buen artículo! Personalmente uso https://www.nostrchat.io y https://garnet.nostrian.net para las salas de chat públicas.

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

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.

https://tidal.com/browse/track/2816805

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]

Replying to Avatar Leo Wandersleb

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).

very useful feature 👏