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 events -
EventFactory
to build and sign new nostr events - A
publish
method to publish or save the resulting events
The 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.