Skip to content

Instantly share code, notes, and snippets.

@mattn
Created April 19, 2023 03:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattn/3d1735cd9d660b20a9aaf59e0394d1f4 to your computer and use it in GitHub Desktop.
Save mattn/3d1735cd9d660b20a9aaf59e0394d1f4 to your computer and use it in GitHub Desktop.
import "websocket-polyfill"
import {
nip19,
relayInit,
generatePrivateKey,
getPublicKey,
getEventHash,
signEvent
} from 'nostr-tools'
function formatDate(date: Date) {
return ("00" + date.getHours()).slice(-2)
+ ":" + ("00" + date.getMinutes()).slice(-2)
+ ":" + ("00" + date.getSeconds()).slice(-2)
}
const relay = relayInit('wss://nostr.wine')
relay.connect()
const decoded = nip19.decode(process.env.JIHOBOT_NSEC)
const sk = decoded.data as string
const pk = getPublicKey(sk)
let event = {
id: '',
kind: 1,
pubkey: pk,
created_at: Math.floor(Date.now() / 1000),
tags: [],
content: formatDate(new Date()),
sig: '',
}
event.id = getEventHash(event)
event.sig = signEvent(event, sk)
console.log(relay.publish(event))
relay.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment