mirror of
https://github.com/believethehype/nostrdvm.git
synced 2025-03-17 21:31:52 +01:00
little refactor in wos bump
This commit is contained in:
parent
6ed2877ec7
commit
148a22efe2
@ -176,7 +176,7 @@ class Subscription:
|
||||
# TODO add details about DVM in message
|
||||
|
||||
invoice = zaprequest(lud16, splitted_amount, tier, None,
|
||||
PublicKey.parse(zap[1]), self.keys, DVMConfig.RELAY_LIST)
|
||||
PublicKey.parse(zap[1]), self.keys, self.dvm_config.RELAY_LIST)
|
||||
print(invoice)
|
||||
if invoice is not None:
|
||||
nwc_event_id = await nwc_zap(nwc, invoice, self.keys, zap[2])
|
||||
|
@ -177,7 +177,7 @@ class DicoverContentLatestLongForm(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).opts(opts).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -177,7 +177,7 @@ class DicoverContentLatestWiki(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).opts(opts).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -174,7 +174,7 @@ class DicoverContentCurrentlyPopular(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -218,7 +218,7 @@ class DicoverContentCurrentlyPopularZaps(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -99,7 +99,7 @@ class DicoverContentCurrentlyPopularFollowers(DVMTaskInterface):
|
||||
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().database(database).signer(keys).opts(opts).build()
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
# ropts = RelayOptions().ping(False)
|
||||
@ -194,7 +194,7 @@ class DicoverContentCurrentlyPopularFollowers(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -154,7 +154,7 @@ class DicoverContentCurrentlyPopularGallery(DVMTaskInterface):
|
||||
for relay in relays:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
@ -243,7 +243,7 @@ class DicoverContentCurrentlyPopularGallery(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -187,7 +187,7 @@ class DicoverContentCurrentlyPopularMostr(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
@ -240,7 +240,7 @@ def build_example(name, identifier, admin_config, options, cost=0, update_rate=1
|
||||
dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"]
|
||||
dvm_config.SYNC_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"]
|
||||
# Activate these to use a subscription based model instead
|
||||
# dvm_config.SUBSCRIPTION_REQUIRED = True
|
||||
# dvm_config.SUBSCRIPTION_DAILY_COST = 1
|
||||
@ -286,7 +286,7 @@ def build_example_subscription(name, identifier, admin_config, options, update_r
|
||||
dvm_config = build_default_config(identifier)
|
||||
dvm_config.USE_OWN_VENV = False
|
||||
dvm_config.SHOWLOG = True
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"]
|
||||
dvm_config.SYNC_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"]
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 3 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
# Activate these to use a subscription based model instead
|
||||
|
@ -148,7 +148,7 @@ class DicoverContentCurrentlyPopularNonFollowers(DVMTaskInterface):
|
||||
self.database = NostrDatabase.lmdb(self.db_name)
|
||||
|
||||
cli = ClientBuilder().database(self.database).signer(keys).opts(opts).build()
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
# ropts = RelayOptions().ping(False)
|
||||
@ -230,7 +230,7 @@ class DicoverContentCurrentlyPopularNonFollowers(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -207,7 +207,7 @@ class DicoverContentCurrentlyPopularbyTopic(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -139,7 +139,7 @@ class DicoverContentDBUpdateScheduler(DVMTaskInterface):
|
||||
|
||||
cli = ClientBuilder().signer(keys).database(self.database).opts(opts).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
@ -149,7 +149,7 @@ class DicoverContentDBUpdateScheduler(DVMTaskInterface):
|
||||
filtering = cli.filtering()
|
||||
index_map, G = await build_wot_network(self.dvm_config.WOT_BASED_ON_NPUBS,
|
||||
depth=self.dvm_config.WOT_DEPTH, max_batch=500,
|
||||
max_time_request=10)
|
||||
max_time_request=10, dvm_config=self.dvm_config)
|
||||
|
||||
# Do we actually need pagerank here?
|
||||
# print('computing global pagerank...')
|
||||
|
@ -134,7 +134,7 @@ class DiscoverPeopleMyWOT(DVMTaskInterface):
|
||||
user_id = PublicKey.parse(options["user"]).to_hex()
|
||||
|
||||
index_map, G = await build_wot_network(options["user"], depth=int(options["hops"]), max_batch=500,
|
||||
max_time_request=10)
|
||||
max_time_request=10, dvm_config=self.dvm_config)
|
||||
if use_files:
|
||||
save_network(index_map, G, options["user"])
|
||||
|
||||
@ -207,7 +207,7 @@ class DiscoverPeopleMyWOT(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -212,7 +212,7 @@ class DiscoverPeopleWOT(DVMTaskInterface):
|
||||
database = NostrDatabase.lmdb(self.db_name)
|
||||
cli = ClientBuilder().signer(keys).database(database).build()
|
||||
|
||||
for relay in self.dvm_config.RECONCILE_DB_RELAY_LIST:
|
||||
for relay in self.dvm_config.SYNC_DB_RELAY_LIST:
|
||||
await cli.add_relay(relay)
|
||||
|
||||
await cli.connect()
|
||||
|
@ -95,7 +95,7 @@ async def admin_make_database_updates(adminconfig: AdminConfig = None, dvmconfig
|
||||
nut_wallet = await nutzap_wallet.get_nut_wallet(client, keys)
|
||||
lud16 = adminconfig.LUD16
|
||||
npub = keys.public_key().to_hex()
|
||||
await nutzap_wallet.melt_cashu(nut_wallet, DVMConfig.NUZAP_MINTS[0], nut_wallet.balance, client, keys, lud16,
|
||||
await nutzap_wallet.melt_cashu(nut_wallet, dvmconfig.NUZAP_MINTS[0], nut_wallet.balance, client, keys, lud16,
|
||||
npub)
|
||||
await nutzap_wallet.get_nut_wallet(client, keys)
|
||||
|
||||
|
@ -2,10 +2,10 @@ import os
|
||||
|
||||
from nostr_sdk import Keys, LogLevel
|
||||
|
||||
from nostr_dvm.utils import outbox_utils
|
||||
from nostr_dvm.utils.nip88_utils import NIP88Config
|
||||
from nostr_dvm.utils.nip89_utils import NIP89Config
|
||||
from nostr_dvm.utils.nostr_utils import check_and_set_private_key
|
||||
from nostr_dvm.utils.outbox_utils import AVOID_OUTBOX_RELAY_LIST
|
||||
from nostr_dvm.utils.zap_utils import check_and_set_ln_bits_keys
|
||||
|
||||
|
||||
@ -21,8 +21,10 @@ class DVMConfig:
|
||||
"wss://relay.nostr.net"
|
||||
]
|
||||
|
||||
RECONCILE_DB_RELAY_LIST = ["wss://relay.damus.io", "wss://nostr.oxtr.dev",
|
||||
"wss://relay.nostr.net", "wss://relay.primal.net"]
|
||||
SYNC_DB_RELAY_LIST = ["wss://relay.damus.io", "wss://nostr.oxtr.dev",
|
||||
"wss://relay.nostr.net",
|
||||
"wss://relay.primal.net"
|
||||
]
|
||||
|
||||
# Straight Censorship (reply guy spam)
|
||||
WOT_FILTERING = False
|
||||
@ -32,7 +34,7 @@ class DVMConfig:
|
||||
]
|
||||
WOT_DEPTH = 2
|
||||
|
||||
AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
AVOID_OUTBOX_RELAY_LIST = outbox_utils.AVOID_OUTBOX_RELAY_LIST
|
||||
# If a DVM has a paid subscription, overwrite list without the paid one.
|
||||
|
||||
RELAY_TIMEOUT = 5
|
||||
|
@ -124,7 +124,7 @@ async def get_inbox_relays(event_to_send: Event, client: Client, dvm_config):
|
||||
if ((tag.as_vec()[0] == 'r' and len(tag.as_vec()) == 2)
|
||||
or ((tag.as_vec()[0] == 'r' and len(tag.as_vec()) == 3) and tag.as_vec()[2] == "read")):
|
||||
rtag = tag.as_vec()[1]
|
||||
if rtag.rstrip("/") not in dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST:
|
||||
if rtag.rstrip("/") not in dvm_config.AVOID_OUTBOX_RELAY_LIST:
|
||||
if rtag.startswith("ws") and " " not in rtag:
|
||||
relays.append(rtag)
|
||||
return relays
|
||||
@ -148,7 +148,7 @@ async def get_dm_relays(event_to_send: Event, client: Client, dvm_config):
|
||||
if ((tag.as_vec()[0] == 'r' and len(tag.as_vec()) == 2)
|
||||
or ((tag.as_vec()[0] == 'r' and len(tag.as_vec()) == 3) and tag.as_vec()[2] == "read")):
|
||||
rtag = tag.as_vec()[1]
|
||||
if rtag.rstrip("/") not in dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST:
|
||||
if rtag.rstrip("/") not in dvm_config.AVOID_OUTBOX_RELAY_LIST:
|
||||
if rtag.startswith("ws") and " " not in rtag:
|
||||
relays.append(rtag)
|
||||
return relays
|
||||
@ -190,7 +190,7 @@ async def send_event_outbox(event: Event, client, dvm_config) -> EventId:
|
||||
if tag.as_vec()[0] == 'relays':
|
||||
for index, param in enumerate(tag.as_vec()):
|
||||
if index != 0:
|
||||
if tag.as_vec()[index].rstrip("/") not in dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST:
|
||||
if tag.as_vec()[index].rstrip("/") not in dvm_config.AVOID_OUTBOX_RELAY_LIST:
|
||||
try:
|
||||
relays.append(tag.as_vec()[index])
|
||||
except:
|
||||
@ -214,9 +214,7 @@ async def send_event_outbox(event: Event, client, dvm_config) -> EventId:
|
||||
relaylimits = RelayLimits.disable()
|
||||
connection = Connection().embedded_tor().target(ConnectionTarget.ONION)
|
||||
# connection = Connection().addr("127.0.0.1:9050").target(ConnectionTarget.ONION)
|
||||
opts = ((
|
||||
Options().relay_limits(relaylimits)).connection(connection).connection_timeout(timedelta(seconds=30)))
|
||||
|
||||
opts = Options().relay_limits(relaylimits).connection(connection).connection_timeout(timedelta(seconds=30))
|
||||
sk = SecretKey.from_hex(dvm_config.PRIVATE_KEY)
|
||||
keys = Keys.parse(sk.to_hex())
|
||||
outboxclient = Client.with_opts(keys, opts)
|
||||
@ -261,6 +259,7 @@ async def send_event_outbox(event: Event, client, dvm_config) -> EventId:
|
||||
event_id = None
|
||||
print(e)
|
||||
|
||||
await outboxclient.disconnect()
|
||||
await outboxclient.shutdown()
|
||||
return event_id
|
||||
|
||||
@ -272,7 +271,7 @@ async def send_event(event: Event, client: Client, dvm_config):
|
||||
if tag.as_vec()[0] == 'relays':
|
||||
for index, param in enumerate(tag.as_vec()):
|
||||
if index != 0:
|
||||
if tag.as_vec()[index].rstrip("/") not in dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST:
|
||||
if tag.as_vec()[index].rstrip("/") not in dvm_config.AVOID_OUTBOX_RELAY_LIST:
|
||||
try:
|
||||
relays.append(tag.as_vec()[index])
|
||||
except:
|
||||
@ -280,6 +279,9 @@ async def send_event(event: Event, client: Client, dvm_config):
|
||||
index] + " couldn't be added to outbox relays")
|
||||
break
|
||||
|
||||
if len(relays) == 0:
|
||||
relays = dvm_config.RELAY_LIST
|
||||
|
||||
for relay in relays:
|
||||
if relay not in dvm_config.RELAY_LIST:
|
||||
await client.add_relay(relay)
|
||||
@ -292,8 +294,7 @@ async def send_event(event: Event, client: Client, dvm_config):
|
||||
|
||||
for relay in relays:
|
||||
if relay not in dvm_config.RELAY_LIST:
|
||||
if relay not in dvm_config.RELAY_LIST:
|
||||
await client.remove_relay(relay)
|
||||
await client.force_remove_relay(relay)
|
||||
return event_id
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
2
setup.py
2
setup.py
@ -1,6 +1,6 @@
|
||||
from setuptools import setup, find_packages
|
||||
|
||||
VERSION = '0.9.10'
|
||||
VERSION = '0.9.11'
|
||||
DESCRIPTION = 'A framework to build and run Nostr NIP90 Data Vending Machines'
|
||||
LONG_DESCRIPTION = ('A framework to build and run Nostr NIP90 Data Vending Machines. See the github repository for more information')
|
||||
|
||||
|
@ -38,12 +38,16 @@ update_profile = False
|
||||
global_update_rate = 180 # set this high on first sync so db can fully sync before another process trys to.
|
||||
use_logger = True
|
||||
log_level = LogLevel.ERROR
|
||||
max_sync_duration_in_h = 6
|
||||
|
||||
|
||||
RECONCILE_DB_RELAY_LIST = [ "wss://relay.damus.io", "wss://relay.primal.net", "wss://nostr.oxtr.dev"]
|
||||
SYNC_DB_RELAY_LIST = [ "wss://relay.damus.io",
|
||||
#"wss://relay.primal.net",
|
||||
"wss://nostr.oxtr.dev"]
|
||||
|
||||
RELAY_LIST = ["wss://relay.primal.net",
|
||||
"wss://nostr.mom", "wss://nostr.oxtr.dev",
|
||||
RELAY_LIST = [#"wss://relay.primal.net",
|
||||
"wss://nostr.mom",
|
||||
"wss://nostr.oxtr.dev",
|
||||
"wss://relay.nostr.net"
|
||||
]
|
||||
|
||||
@ -59,7 +63,7 @@ def build_db_scheduler(name, identifier, admin_config, options, image, descripti
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.DATABASE = database
|
||||
dvm_config.WOT_FILTERING = True
|
||||
@ -107,7 +111,7 @@ def build_example_gallery(name, identifier, admin_config, options, image, cost=0
|
||||
# dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
@ -145,8 +149,8 @@ def build_example_nostrband(name, identifier, admin_config, image, about, custom
|
||||
dvm_config: DVMConfig = build_default_config(identifier)
|
||||
dvm_config.USE_OWN_VENV = False
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = custom_processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
@ -177,8 +181,8 @@ def build_longform(name, identifier, admin_config, options, cost=0, update_rate=
|
||||
dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
# Activate these to use a subscription based model instead
|
||||
@ -229,8 +233,8 @@ def build_wiki(name, identifier, admin_config, options, cost=0, update_rate=180,
|
||||
dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
# Activate these to use a subscription based model instead
|
||||
@ -284,8 +288,8 @@ def build_example_topic(name, identifier, admin_config, options, image, descript
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.DATABASE = database
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
@ -326,8 +330,8 @@ def build_example_popular(name, identifier, admin_config, options, image, cost=0
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.DATABASE = database
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
@ -369,8 +373,8 @@ def build_example_popular_followers(name, identifier, admin_config, options, ima
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
|
||||
@ -416,8 +420,8 @@ def build_example_popular_non_followers(name, identifier, admin_config, options,
|
||||
# Activate these to use a subscription based model instead
|
||||
dvm_config.FIX_COST = 10
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.SUBSCRIPTION_REQUIRED = False
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
@ -484,8 +488,8 @@ def build_example_top_zapped(name, identifier, admin_config, options, image, cos
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.DATABASE = database
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
@ -530,9 +534,9 @@ def build_example_mostr(name, identifier, admin_config, options, image, cost=0,
|
||||
# dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = ["wss://nfrelay.app/?user=activitypub"]
|
||||
dvm_config.SYNC_DB_RELAY_LIST = ["wss://nfrelay.app/?user=activitypub"]
|
||||
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
@ -574,7 +578,8 @@ def build_example_oneperfollow(name, identifier, admin_config, options, image, c
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = False
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
@ -617,7 +622,7 @@ def playground():
|
||||
admin_config_db_scheduler= AdminConfig()
|
||||
options_animal = {
|
||||
"db_name": main_db,
|
||||
"db_since": 6 * 60 * 60, # 48h since gmt,
|
||||
"db_since": max_sync_duration_in_h * 60 * 60, # 48h since gmt,
|
||||
"personalized": False,
|
||||
"logger": False}
|
||||
image = ""
|
||||
@ -1162,7 +1167,7 @@ def playground():
|
||||
subscription_config.PRIVATE_KEY = check_and_set_private_key("dvm_subscription")
|
||||
npub = Keys.parse(subscription_config.PRIVATE_KEY).public_key().to_bech32()
|
||||
invoice_key, admin_key, wallet_id, lnaddress = check_and_set_ln_bits_keys("dvm_subscription", npub)
|
||||
subscription_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
subscription_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
subscription_config.RELAY_LIST = RELAY_LIST
|
||||
subscription_config.LNBITS_INVOICE_KEY = invoice_key
|
||||
subscription_config.LNBITS_ADMIN_KEY = admin_key # The dvm might pay failed jobs back
|
||||
|
@ -17,13 +17,13 @@ update_profile = True
|
||||
global_update_rate = 60 # set this high on first sync so db can fully sync before another process trys to.
|
||||
use_logger = True
|
||||
# these do not support nengentropy
|
||||
#RECONCILE_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"] # , "wss://relay.snort.social"]
|
||||
#SYNC_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"] # , "wss://relay.snort.social"]
|
||||
|
||||
if use_logger:
|
||||
init_logger(LogLevel.ERROR)
|
||||
|
||||
|
||||
RECONCILE_DB_RELAY_LIST = [ "wss://relay.nostr.net", "wss://relay.nostr.bg", "wss://relay.damus.io", "wss://nostr.oxtr.dev"]
|
||||
SYNC_DB_RELAY_LIST = [ "wss://relay.nostr.net", "wss://relay.nostr.bg", "wss://relay.damus.io", "wss://nostr.oxtr.dev"]
|
||||
RELAY_LIST = ["wss://relay.primal.net",
|
||||
"wss://nostr.mom", "wss://nostr.oxtr.dev",
|
||||
"wss://relay.nostr.net"
|
||||
@ -39,7 +39,7 @@ def build_example_topic(name, identifier, admin_config, options, image, descript
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.LOGLEVEL = LogLevel.DEBUG
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
|
||||
|
@ -18,7 +18,7 @@ update_profile = False
|
||||
global_update_rate = 60 # set this high on first sync so db can fully sync before another process trys to.
|
||||
use_logger = True
|
||||
# these do not support nengentropy
|
||||
#RECONCILE_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"] # , "wss://relay.snort.social"]
|
||||
#SYNC_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"] # , "wss://relay.snort.social"]
|
||||
|
||||
if use_logger:
|
||||
init_logger(LogLevel.DEBUG)
|
||||
@ -32,7 +32,7 @@ def build_example_mostr(name, identifier, admin_config, options, image, cost=0,
|
||||
# dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = ["wss://nfrelay.app/?user=activitypub"]
|
||||
dvm_config.SYNC_DB_RELAY_LIST = ["wss://nfrelay.app/?user=activitypub"]
|
||||
dvm_config.LOGLEVEL = LogLevel.DEBUG
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
|
@ -17,7 +17,7 @@ update_profile = False
|
||||
global_update_rate = 60 # set this high on first sync so db can fully sync before another process trys to.
|
||||
use_logger = True
|
||||
# these do not support nengentropy
|
||||
#RECONCILE_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"] # , "wss://relay.snort.social"]
|
||||
#SYNC_DB_RELAY_LIST = ["wss://relay.momostr.pink", "wss://relay.mostr.pub/"] # , "wss://relay.snort.social"]
|
||||
|
||||
if use_logger:
|
||||
init_logger(LogLevel.ERROR)
|
||||
|
@ -19,7 +19,7 @@ global_update_rate = 1200 # set this high on first sync so db can fully sync
|
||||
use_logger = True
|
||||
|
||||
|
||||
#RECONCILE_DB_RELAY_LIST = ["wss://relay.damus.io"] # , "wss://relay.snort.social"]
|
||||
#SYNC_DB_RELAY_LIST = ["wss://relay.damus.io"] # , "wss://relay.snort.social"]
|
||||
|
||||
|
||||
if use_logger:
|
||||
@ -36,7 +36,7 @@ def build_example_wot(name, identifier, admin_config, options, image, cost=0, up
|
||||
# dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
#dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
#dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.LOGLEVEL = LogLevel.DEBUG
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
|
@ -43,7 +43,7 @@ if use_logger:
|
||||
|
||||
|
||||
|
||||
RECONCILE_DB_RELAY_LIST = [ "wss://relay.nostr.net", "wss://relay.nostr.bg", "wss://relay.damus.io", "wss://nostr.oxtr.dev"]
|
||||
SYNC_DB_RELAY_LIST = [ "wss://relay.nostr.net", "wss://relay.nostr.bg", "wss://relay.damus.io", "wss://nostr.oxtr.dev"]
|
||||
RELAY_LIST = ["wss://relay.primal.net",
|
||||
"wss://nostr.mom", "wss://nostr.oxtr.dev",
|
||||
"wss://relay.nostr.net"
|
||||
@ -59,7 +59,7 @@ def build_db_scheduler(name, identifier, admin_config, options, image, descripti
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
|
||||
# Activate these to use a subscription based model instead
|
||||
@ -106,7 +106,7 @@ def build_example_gallery(name, identifier, admin_config, options, image, cost=0
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.LOGLEVEL = LogLevel.DEBUG
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
@ -144,7 +144,7 @@ def build_example_nostrband(name, identifier, admin_config, image, about, custom
|
||||
dvm_config: DVMConfig = build_default_config(identifier)
|
||||
dvm_config.USE_OWN_VENV = False
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = custom_processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
@ -175,8 +175,8 @@ def build_longform(name, identifier, admin_config, options, cost=0, update_rate=
|
||||
dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
# Activate these to use a subscription based model instead
|
||||
@ -227,8 +227,8 @@ def build_wiki(name, identifier, admin_config, options, cost=0, update_rate=180,
|
||||
dvm_config.SHOWLOG = True
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = RECONCILE_DB_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.SYNC_DB_RELAY_LIST = SYNC_DB_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
# Activate these to use a subscription based model instead
|
||||
@ -282,7 +282,7 @@ def build_example_topic(name, identifier, admin_config, options, image, descript
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.LOGLEVEL = LogLevel.INFO
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
|
||||
@ -324,7 +324,7 @@ def build_example_popular(name, identifier, admin_config, options, image, cost=0
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
|
||||
@ -365,7 +365,7 @@ def build_example_popular_followers(name, identifier, admin_config, options, ima
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
|
||||
@ -410,7 +410,7 @@ def build_example_popular_non_followers(name, identifier, admin_config, options,
|
||||
# Activate these to use a subscription based model instead
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.SUBSCRIPTION_REQUIRED = True
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
@ -477,7 +477,7 @@ def build_example_top_zapped(name, identifier, admin_config, options, image, cos
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.FIX_COST = cost
|
||||
dvm_config.CUSTOM_PROCESSING_MESSAGE = processing_msg
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
admin_config.LUD16 = dvm_config.LN_ADDRESS
|
||||
|
||||
@ -522,7 +522,7 @@ def build_example_mostr(name, identifier, admin_config, options, image, cost=0,
|
||||
dvm_config.SCHEDULE_UPDATES_SECONDS = update_rate # Every 10 minutes
|
||||
dvm_config.UPDATE_DATABASE = update_db
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = ["wss://nfrelay.app/?user=activitypub"]
|
||||
dvm_config.SYNC_DB_RELAY_LIST = ["wss://nfrelay.app/?user=activitypub"]
|
||||
|
||||
dvm_config.LOGLEVEL = LogLevel.DEBUG
|
||||
dvm_config.FIX_COST = cost
|
||||
|
@ -145,7 +145,7 @@ def build_advanced_search_wine(name, identifier):
|
||||
|
||||
def build_user_search(name, identifier):
|
||||
dvm_config = build_default_config(identifier)
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = ["wss://relay.damus.io"]
|
||||
dvm_config.SYNC_DB_RELAY_LIST = ["wss://relay.damus.io"]
|
||||
npub = Keys.parse(dvm_config.PRIVATE_KEY).public_key().to_bech32()
|
||||
dvm_config.RELAY_LIST = RELAY_LIST
|
||||
invoice_key, admin_key, wallet_id, lnaddress = check_and_set_ln_bits_keys(identifier, npub)
|
||||
|
@ -29,7 +29,7 @@ async def getmetadata(npub):
|
||||
keys = Keys.parse("nsec1zmzllu40a7mr7ztl78uwfwslnp0pn0pww868adl05x52d4la237s6m8qfj")
|
||||
client = ClientBuilder().signer(keys).build()
|
||||
await client.add_relay("wss://relay.damus.io")
|
||||
await client.add_relay("wss://relay.primal.net")
|
||||
#await client.add_relay("wss://relay.primal.net")
|
||||
await client.add_relay("wss://purplepag.es")
|
||||
await client.connect()
|
||||
|
||||
|
@ -57,7 +57,7 @@ def run_dvm(identifier, announce):
|
||||
# but if they do, you can select which ones should be used to sync to your local database.
|
||||
# This example doesn't use reconciliation, but you might want to take a look at tasks/content_discovery_currently.popular.py for example.
|
||||
|
||||
dvm_config.RECONCILE_DB_RELAY_LIST = ["wss://relay.damus.io", "wss://nostr.oxtr.dev",
|
||||
dvm_config.SYNC_DB_RELAY_LIST = ["wss://relay.damus.io", "wss://nostr.oxtr.dev",
|
||||
"wss://relay.nostr.net", "wss://relay.primal.net"]
|
||||
|
||||
# related to that dvm_config.UPDATE_DATABASE can be used to signal if the dvm should update it's own database at all.
|
||||
@ -84,7 +84,7 @@ def run_dvm(identifier, announce):
|
||||
# The reason is, some relays might be paid, or use auth, and we might not able to write there, so we just avoid doing it.
|
||||
# In utils/output_utils.py is a list of relays that won't work, but there might be others, or you might want to define your own list,
|
||||
# so you can overwrite it here. Otherwise, defaults will be used.
|
||||
dvm_config.AVOID_PAID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
dvm_config.AVOID_OUTBOX_RELAY_LIST = AVOID_OUTBOX_RELAY_LIST
|
||||
|
||||
# Finally some DVMs might support Web of Trust filtering.
|
||||
# You find an example in tasks/content_discovery_update_db_only.py
|
||||
|
Loading…
x
Reference in New Issue
Block a user