Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/UTXOnly/nostpy-cli
Command line nostr client
https://github.com/UTXOnly/nostpy-cli
nostr nostr-client
Last synced: 24 days ago
JSON representation
Command line nostr client
- Host: GitHub
- URL: https://github.com/UTXOnly/nostpy-cli
- Owner: UTXOnly
- License: mit
- Created: 2024-04-30T02:27:14.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-05-12T06:59:09.000Z (7 months ago)
- Last Synced: 2024-05-12T23:35:06.988Z (7 months ago)
- Topics: nostr, nostr-client
- Language: Python
- Homepage:
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr - nostpy-cli - cli.svg?style=social) - A Python command line nostr client/tool for relay development (Tools / Client reviews and/or comparisons)
README
# nostpy-cli
`nostpy-cli` is a Command Line Interface tool for sending and querying nostr events by websocket connection.
## Features
- Send events to specified relays
- Query events from specified relays
- Encode/decode kind4 messages
- Supports [NIP-50](https://github.com/nostr-protocol/nips/blob/master/50.md) searches## Prerequisites
Before installing `nostpy-cli`, ensure you have Python 3.6 or higher installed on your system. You can check your Python version by running:
```
python3 --version
```
## Installation### Install Using pip
To install using `pip` use the command below:
```
pip install nostpy-cli
```### Build from source
Clone the Repository
First, clone the repository to your local machine:```
git clone https://github.com/UTXOnly/nostpy-cli.git
cd nostpy-cli
python3 -m build
pip install .
```## Usage
Once installed, you can run `nostpy-cli` from the command line as shown below:### Send Event
To send an event:```
nostpy-cli send_event -privkey "your_private_key_hex" -content "your plaintext message" -tags "[['tag1', 'value1']]" -kind 4 --relay "wss://yourrelayurl.com" "wss://yoursecondrelayurl.com"
```
`--priv_key` and `--relay` arguments are required, all else are optional#### Example
* Send a kind 1 event with tags```
nostpy-cli send_event -pubkey 5ce5b352f1ef76b1dffc5694dd5b34126137184cc9a7d78cba841c0635e17952 -privkey 2b1e4e1f26517dda57458596760bb3bd3bd3717083763166e12983a6421abc18 -content test27 -tags "[
['t', 'vvfdvfd'], ['v', 'v2']]" -kind 1 --relay wss://relay.nostpy.lol wss://relay.damus.io wss://nos.lol
```* Send a kind 4 direct message
```
nostpy-cli send_event -privkey 2b1e4e1f26517dda57458596760bb3bd3bd3717083763166e12983a6421abc18 -content "This is my plaintext message" -tags "[['p', '4503baa127bdfd0b054384dc5ba82cb0e2a8367cbdb0629179f00db1a34caacc']]" -kind 4 --relay wss://relay.nostpy.lol wss://relay.damus.io wss://nos.lol
```### Query Event
To query events:```
nostpy-cli query --kinds "[1,9735]" --relay "wss://yourrelayurl.com"
```
`--relay` field required#### Example
* Query an event with search
```
nostpy-cli query -kinds "[31990,1]" -search "random_search" -since 1713629501 -authors aef0d6b212827f3ba1de6189613e6d4824f181f567b1205273c16895fdaf0b23 --relay wss://relay.nostpy.lol
```### Decrypt kind4 message content
Decrypt kind4 message content by providing recipient private key hex, sender public key hex and the message ciphertext, returns the plaintext message#### Example
```
nostpy-cli decrypt -content "kP9dCG/stpEGNTjW2/aySQ==?iv=+GCHVOBAiM9X074n1vxiFg==" -priv_key 2b1e4e1f26517dda57458596760bb3bd3bd3717083763166e12983a6421abc18 -sender_pubkey 4503baa127bdfd0b054384dc5ba82cb0e2a8367cbdb0629179f00db1a34caacc
```
### Help
To view all available commands and their options, use the help command:```
nostpy-cli -h
``````
usage: nostpy-cli [-h] {query,send_event,decode} ...Send and query nostr events
options:
-h, --help show this help message and exitcommands:
valid commands{query,send_event,decode}
additional help
query Query events
send_event Send an event
decode Decode kind4 contentExample send usage: nostpy-cli send_event -pubkey "abc123..." -privkey "def456..." -content "Hello, world!" --relay "wss://example.com"
```
## Contributing
Contributions to nostpy-cli are welcome! Please feel free to submit pull requests or open issues to report bugs or suggest enhancements.### License
This project is licensed under the MIT License - see the LICENSE file for details.