29
docs/events/contact-list.md
Normal file
29
docs/events/contact-list.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# Contact List
|
||||
|
||||
## Creating/updating your contact list
|
||||
|
||||
Every new contact list that gets published overwrites the past ones, so it should contain all entries.
|
||||
|
||||
```ruby
|
||||
# Creating a contact list event with 2 contacts
|
||||
update_contacts_event = user.create_event(
|
||||
kind: Nostr::EventKind::CONTACT_LIST,
|
||||
tags: [
|
||||
[
|
||||
"p", # mandatory
|
||||
"32e1827635450ebb3c5a7d12c1f8e7b2b514439ac10a67eef3d9fd9c5c68e245", # public key of the user to add to the contacts
|
||||
"wss://alicerelay.com/", # can be an empty string or can be omitted
|
||||
"alice" # can be an empty string or can be omitted
|
||||
],
|
||||
[
|
||||
"p", # mandatory
|
||||
"3efdaebb1d8923ebd99c9e7ace3b4194ab45512e2be79c1b7d68d9243e0d2681", # public key of the user to add to the contacts
|
||||
"wss://bobrelay.com/nostr", # can be an empty string or can be omitted
|
||||
"bob" # can be an empty string or can be omitted
|
||||
],
|
||||
],
|
||||
)
|
||||
|
||||
# Send it to the Relay
|
||||
client.publish(update_contacts_event)
|
||||
```
|
||||
28
docs/events/encrypted-direct-message.md
Normal file
28
docs/events/encrypted-direct-message.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Encrypted Direct Message
|
||||
|
||||
## Sending an encrypted direct message
|
||||
|
||||
```ruby
|
||||
sender_private_key = '3185a47e3802f956ca5a2b4ea606c1d51c7610f239617e8f0f218d55bdf2b757'
|
||||
|
||||
encrypted_direct_message = Nostr::Events::EncryptedDirectMessage.new(
|
||||
sender_private_key: sender_private_key,
|
||||
recipient_public_key: '6c31422248998e300a1a457167565da7d15d0da96651296ee2791c29c11b6aa0',
|
||||
plain_text: 'Your feedback is appreciated, now pay $8',
|
||||
previous_direct_message: 'ccf9fdf3e1466d7c20969c71ec98defcf5f54aee088513e1b73ccb7bd770d460' # optional
|
||||
)
|
||||
|
||||
encrypted_direct_message.sign(sender_private_key)
|
||||
|
||||
# #<Nostr::Events::EncryptedDirectMessage:0x0000000104c9fa68
|
||||
# @content="mjIFNo1sSP3KROE6QqhWnPSGAZRCuK7Np9X+88HSVSwwtFyiZ35msmEVoFgRpKx4?iv=YckChfS2oWCGpMt1uQ4GbQ==",
|
||||
# @created_at=1676456512,
|
||||
# @id="daac98826d5eb29f7c013b6160986c4baf4fe6d4b995df67c1b480fab1839a9b",
|
||||
# @kind=4,
|
||||
# @pubkey="8a9d69c56e3c691bec8f9565e4dcbe38ae1d88fffeec3ce66b9f47558a3aa8ca",
|
||||
# @sig="028bb5f5bab0396e2065000c84a4bcce99e68b1a79bb1b91a84311546f49c5b67570b48d4a328a1827e7a8419d74451347d4f55011a196e71edab31aa3d6bdac",
|
||||
# @tags=[["p", "6c31422248998e300a1a457167565da7d15d0da96651296ee2791c29c11b6aa0"], ["e", "ccf9fdf3e1466d7c20969c71ec98defcf5f54aee088513e1b73ccb7bd770d460"]]>
|
||||
|
||||
# Send it to the Relay
|
||||
client.publish(encrypted_direct_message)
|
||||
```
|
||||
32
docs/events/recommend-server.md
Normal file
32
docs/events/recommend-server.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Recommend Server
|
||||
|
||||
The `Recommend Server` event, has a set of tags with the following structure `['e', <event-id>, <relay-url>, <marker>]`
|
||||
|
||||
Where:
|
||||
|
||||
- `<event-id>` is the id of the event being referenced.
|
||||
- `<relay-url>` is the URL of a recommended relay associated with the reference. Clients SHOULD add a valid `<relay-URL>`
|
||||
field, but may instead leave it as `''`.
|
||||
- `<marker>` is optional and if present is one of `'reply'`, `'root'`, or `'mention'`.
|
||||
Those marked with `'reply'` denote the id of the reply event being responded to. Those marked with `'root'` denote the
|
||||
root id of the reply thread being responded to. For top level replies (those replying directly to the root event),
|
||||
only the `'root'` marker should be used. Those marked with `'mention'` denote a quoted or reposted event id.
|
||||
|
||||
A direct reply to the root of a thread should have a single marked `'e'` tag of type `'root'`.
|
||||
|
||||
## Recommending a server
|
||||
|
||||
```ruby
|
||||
recommend_server_event = user.create_event(
|
||||
kind: Nostr::EventKind::RECOMMEND_SERVER,
|
||||
tags: [
|
||||
[
|
||||
'e',
|
||||
'461544014d87c9eaf3e76e021240007dff2c7afb356319f99c741b45749bf82f',
|
||||
'wss://relay.damus.io'
|
||||
],
|
||||
]
|
||||
)
|
||||
|
||||
client.publish(recommend_server_event)
|
||||
```
|
||||
20
docs/events/set-metadata.md
Normal file
20
docs/events/set-metadata.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Set Metadata
|
||||
|
||||
In the `Metadata` event, the `content` is set to a stringified JSON object
|
||||
`{name: <username>, about: <string>, picture: <url, string>}` describing the [user](../core/user) who created the event. A relay may
|
||||
delete older events once it gets a new one for the same pubkey.
|
||||
|
||||
## Setting the user's metadata
|
||||
|
||||
```ruby
|
||||
metadata_event = user.create_event(
|
||||
kind: Nostr::EventKind::SET_METADATA,
|
||||
content: {
|
||||
name: 'Wilson Silva',
|
||||
about: 'Used to make hydrochloric acid bombs in high school.',
|
||||
picture: 'https://thispersondoesnotexist.com/'
|
||||
}
|
||||
)
|
||||
|
||||
client.publish(metadata_event)
|
||||
```
|
||||
15
docs/events/text-note.md
Normal file
15
docs/events/text-note.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Text Note
|
||||
|
||||
In the `Text Note` event, the `content` is set to the plaintext content of a note (anything the user wants to say).
|
||||
Content that must be parsed, such as Markdown and HTML, should not be used.
|
||||
|
||||
## Sending a text note event
|
||||
|
||||
```ruby
|
||||
text_note_event = user.create_event(
|
||||
kind: Nostr::EventKind::TEXT_NOTE,
|
||||
content: 'Your feedback is appreciated, now pay $8'
|
||||
)
|
||||
|
||||
client.publish(text_note_event)
|
||||
```
|
||||
Reference in New Issue
Block a user