Compare commits

...

5 Commits
dev ... main

Author SHA1 Message Date
b7de29a339 Removing nostrsms t tag (hashtag) 2024-10-06 09:03:07 -04:00
79bc3ca11c Adding nostrsms kind 31990
you can get this even from wss://relay.vanderwarker.family
2024-09-28 13:07:03 -04:00
8fb526ee69 Removing fetch command 2024-09-28 13:01:18 -04:00
26fc93aafc removing database 2024-08-11 13:33:52 -04:00
ee0cea8d9f Removing NIP-26, as it's been deprecated
will be replacing with kind 30078
2024-08-11 13:30:17 -04:00
2 changed files with 8 additions and 59 deletions

View File

@ -1,5 +1,4 @@
// initialize required packages // initialize required packages
const sqlite3 = require('sqlite3');
const fs = require('fs'); const fs = require('fs');
const ini = require('ini'); const ini = require('ini');
const nostr = require('nostr-tools'); const nostr = require('nostr-tools');
@ -7,8 +6,6 @@ const wspf = require('websocket-polyfill');
const WebSocket = require('ws'); const WebSocket = require('ws');
const xmpp = require('simple-xmpp'); const xmpp = require('simple-xmpp');
var db = new sqlite3.Database('nip26.db');
let { let {
bech32, bech32,
bech32m bech32m
@ -24,6 +21,7 @@ if (fs.existsSync('./config.ini')) {
xmpp.on('online', function (data, to) { xmpp.on('online', function (data, to) {
console.log('Connected with JID: ' + config.xmpp.jid); console.log('Connected with JID: ' + config.xmpp.jid);
}); });
xmpp.on('chat', function (from, message) { xmpp.on('chat', function (from, message) {
function debug() { function debug() {
if (config.debug === '1') { if (config.debug === '1') {
@ -32,63 +30,13 @@ if (fs.existsSync('./config.ini')) {
console.log(from); console.log(from);
}; };
} }
// Add NIP-05, to get users latest kind 3, and notes. if (message === '!help') {
if (message === "!fetch") {
xmpp.send(from, "Sure. Please standby...");
async function gogoGlobalShoes() {
const relay = nostr.relayInit(config.relays.read, WebSocket);
relay.on('connect', () => {
console.log(`connected to ${relay.url}`);
});
relay.on('error', () => {
console.log(`failed to connect to ${relay.url}`);
});
await relay.connect();
let sub = relay.sub([{
kinds: [1],
authors: [pk],
limit: 5
}, ])
sub.on('event', event => {
console.log('got event:', event);
// Check if the event is already an object
const conny = typeof event === 'string' ? JSON.parse(event) : event;
if (conny && conny.content && conny.pubkey && conny.created_at) {
const content = conny.content;
const author = conny.pubkey;
const createdAt = conny.created_at;
// Use the extracted properties as needed
console.log('Content:', content);
console.log('Author:', author);
console.log('Created At:', createdAt);
// You can send these properties via XMPP or perform other actions here
xmpp.send(from, `\"${content}\", - ${author} @ ${createdAt}`);
} else {
console.error('Invalid event structure or missing required properties.');
}
});
}
gogoGlobalShoes().catch((error) => {
console.error(error);
});
} else if (message === '!help') {
xmpp.send(from, 'https://wiki.vanderwarker.family/doku.php?id=code:nostrsms:commands'); xmpp.send(from, 'https://wiki.vanderwarker.family/doku.php?id=code:nostrsms:commands');
debug(); debug();
} else if (message === "!auth") {
xmpp.send(from, "reauth (nip-26)");
const now = new Date(); } else if (message === "!auth") {
const validUntil = now.getTime() + (30 * 24 * 60 * 60 * 1000); xmpp.send(from, "https://auth.nostrsms.com");
const insertStmt = db.prepare('INSERT INTO users (pnum, token) VALUES (?, ?)');
insertStmt.run(from.split("@")[0], validUntil);
insertStmt.finalize();
debug();
} else { } else {
async function newPost() { async function newPost() {
const relay = nostr.relayInit(config.relays.write, WebSocket); const relay = nostr.relayInit(config.relays.write, WebSocket);
@ -105,7 +53,7 @@ if (fs.existsSync('./config.ini')) {
kind: 1, kind: 1,
pubkey: pk, pubkey: pk,
created_at: Math.floor(Date.now() / 1000), created_at: Math.floor(Date.now() / 1000),
tags: [], tags: [['client','NostrSMS','31990:9be1b8315248eeb20f9d9ab2717d1750e4f27489eab1fa531d679dadd34c2f8d:1726937516']],
content: message, content: message,
}; };
const signedEvent = nostr.finishEvent(event, sk); const signedEvent = nostr.finishEvent(event, sk);
@ -128,6 +76,7 @@ if (fs.existsSync('./config.ini')) {
}; };
const encodedNEvent = nostr.nip19.neventEncode(event); const encodedNEvent = nostr.nip19.neventEncode(event);
xmpp.send(from, "nostr:" + encodedNEvent); xmpp.send(from, "nostr:" + encodedNEvent);
console.log(encodedNEvent)
debug(); debug();
} }
} }
@ -151,4 +100,4 @@ if (fs.existsSync('./config.ini')) {
console.log("Please create a config.ini"); console.log("Please create a config.ini");
console.log("See https://wiki.vanderwarker.family/doku.php?id=code:nostrsms:install"); console.log("See https://wiki.vanderwarker.family/doku.php?id=code:nostrsms:install");
console.log("and choose your preferred install method."); console.log("and choose your preferred install method.");
} }

Binary file not shown.