A collection of pre-built actions nostr clients can use. Built on top of applesauce-core
and applesauce-factory
.
npm install applesauce-actions
Actions are common pre-built async operations that apps can perform. They use:
EventStore
for access to known nostr eventsEventFactory
to build and sign new nostr eventspublish
method to publish or save the resulting eventsThe package provides an ActionHub
class that combines these components into a single manager for easier action execution.
import { ActionHub } from "applesauce-actions";
import { FollowUser } from "applesauce-actions/actions";
async function publishEvent(event: NostrEvent) {
await relayPool.publish(event, ["wss://relay.example.com"]);
}
// Create an action hub with your event store, factory and publish method
const hub = new ActionHub(eventStore, eventFactory, publishEvent);
// Example: Follow a user
await hub
.exec(FollowUser, "3bf0c63fcb93463407af97a5e5ee64fa883d107ef9e558472c4eb9aaaefa459d")
.forEach((event) => publishEvent(event));
For more detailed documentation and examples, visit the full documentation.