diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d33c3c..2c165b9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +### Added + +- Added relay message type enums `Nostr::RelayMessageType` + ### Changed - Set the gem's homepage to [`https://nostr-ruby.com/`](https://nostr-ruby.com/) diff --git a/lib/nostr.rb b/lib/nostr.rb index 99c27c9..55f91bb 100644 --- a/lib/nostr.rb +++ b/lib/nostr.rb @@ -7,6 +7,7 @@ require_relative 'nostr/client_message_type' require_relative 'nostr/filter' require_relative 'nostr/subscription' require_relative 'nostr/relay' +require_relative 'nostr/relay_message_type' require_relative 'nostr/key_pair' require_relative 'nostr/event_kind' require_relative 'nostr/event' diff --git a/lib/nostr/relay_message_type.rb b/lib/nostr/relay_message_type.rb new file mode 100644 index 0000000..eca78e7 --- /dev/null +++ b/lib/nostr/relay_message_type.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +module Nostr + # Clients can send 4 types of messages, which must be JSON arrays + module RelayMessageType + # @return [String] Used to notify clients all stored events have been sent + EOSE = 'EOSE' + + # @return [String] Used to send events requested to clients + EVENT = 'EVENT' + + # @return [String] Used to send human-readable messages to clients + NOTICE = 'NOTICE' + + # @return [String] Used to notify clients if an EVENT was successful + OK = 'OK' + end +end diff --git a/sig/nostr/relay_message_type.rbs b/sig/nostr/relay_message_type.rbs new file mode 100644 index 0000000..8a523eb --- /dev/null +++ b/sig/nostr/relay_message_type.rbs @@ -0,0 +1,8 @@ +module Nostr + module RelayMessageType + EOSE: String + EVENT: String + NOTICE: String + OK: String + end +end