shinohai on Nostr: Seems a tiny snippet of code fixed my disconnect issues: > (let ((events ...
Seems a tiny snippet of code fixed my disconnect issues:
> (let ((events (stream:stream-events)))
> (loop for event in events
> while *running*
> do (let* ((event-pubkey (gethash "pubkey" event ""))
> (content (gethash "content" event ""))
> (created-at (gethash "created_at" event 0))
> (timestamp (if (> created-at 0)
> (format-timestring nil (unix-to-timestamp created-at))
> "Unknown time"))
> (metadata (stream:fetch-metadata event-pubkey relay-url))
> (username (if metadata
> (let ((meta-content (handler-case (yason:parse (gethash "content" metadata ""))
> (error () nil))))
> (or (gethash "name" meta-content)
> (gethash "display_name" meta-content)
> (subseq event-pubkey 0 8)))
> (subseq event-pubkey 0 8))))
> (declare (ignore timestamp)) ; For now, not used in IRC output
> (when (not (empty? content))
> (dolist (line (split-sequence:split-sequence #\newline content))
> (when (not (empty? (trim line)))
> (broadcast *default-channel*
> (format nil ":~a PRIVMSG ~a :~a"
> username *default-channel* line))))))))
> (let ((events (stream:stream-events)))
> (loop for event in events
> while *running*
> do (let* ((event-pubkey (gethash "pubkey" event ""))
> (content (gethash "content" event ""))
> (created-at (gethash "created_at" event 0))
> (timestamp (if (> created-at 0)
> (format-timestring nil (unix-to-timestamp created-at))
> "Unknown time"))
> (metadata (stream:fetch-metadata event-pubkey relay-url))
> (username (if metadata
> (let ((meta-content (handler-case (yason:parse (gethash "content" metadata ""))
> (error () nil))))
> (or (gethash "name" meta-content)
> (gethash "display_name" meta-content)
> (subseq event-pubkey 0 8)))
> (subseq event-pubkey 0 8))))
> (declare (ignore timestamp)) ; For now, not used in IRC output
> (when (not (empty? content))
> (dolist (line (split-sequence:split-sequence #\newline content))
> (when (not (empty? (trim line)))
> (broadcast *default-channel*
> (format nil ":~a PRIVMSG ~a :~a"
> username *default-channel* line))))))))