Skip to main content
Glama

Storyden

by Southclaws
Mozilla Public License 2.0
229
reply_notify.go1.13 kB
package reply_notify import ( "context" "github.com/Southclaws/opt" "github.com/rs/xid" "go.uber.org/fx" "github.com/Southclaws/storyden/app/resources/account/notification" "github.com/Southclaws/storyden/app/resources/datagraph" "github.com/Southclaws/storyden/app/resources/message" "github.com/Southclaws/storyden/app/services/notification/notify" "github.com/Southclaws/storyden/internal/infrastructure/pubsub" ) func Build() fx.Option { return fx.Invoke(func( ctx context.Context, lc fx.Lifecycle, bus *pubsub.Bus, notifier *notify.Notifier, ) { consumer := func(hctx context.Context) error { _, err := pubsub.Subscribe(hctx, bus, "reply_notify.reply_created", func(ctx context.Context, evt *message.EventThreadReplyCreated) error { if evt.ReplyAuthorID == evt.ThreadAuthorID { return nil } return notifier.Send(ctx, evt.ThreadAuthorID, opt.New(evt.ReplyAuthorID), notification.EventThreadReply, &datagraph.Ref{ ID: xid.ID(evt.ThreadID), Kind: datagraph.KindPost, }, ) }) return err } lc.Append(fx.StartHook(consumer)) }) }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Southclaws/storyden'

If you have feedback or need assistance with the MCP directory API, please join our Discord server