mirror of
https://github.com/believethehype/nostrdvm.git
synced 2025-03-17 21:31:52 +01:00
deleteable events
This commit is contained in:
parent
a142d5fdc0
commit
d912a49ecd
2
main.py
2
main.py
@ -39,7 +39,7 @@ def run_nostr_dvm_with_local_config():
|
||||
# Spawn DVM3 Kind 5002 Local Text TranslationLibre, calling the free LibreTranslateApi, as an alternative.
|
||||
# This will only run and appear on the bot if an endpoint is set in the .env
|
||||
if os.getenv("LIBRE_TRANSLATE_ENDPOINT") is not None and os.getenv("LIBRE_TRANSLATE_ENDPOINT") != "":
|
||||
libre_translator = build_libretranslator("Libre Translator", "google_translator")
|
||||
libre_translator = build_libretranslator("Libre Translator", "libre_translator")
|
||||
bot_config.SUPPORTED_DVMS.append(libre_translator) # We add translator to the bot
|
||||
libre_translator.run()
|
||||
|
||||
|
@ -6,7 +6,7 @@ from nostr_sdk import Keys, EventBuilder, PublicKey
|
||||
from utils.database_utils import get_from_sql_table, list_db, delete_from_sql_table, update_sql_table, \
|
||||
get_or_add_user, clean_db
|
||||
from utils.dvmconfig import DVMConfig
|
||||
from utils.nip89_utils import nip89_announce_tasks, NIP89Config
|
||||
from utils.nip89_utils import nip89_announce_tasks, NIP89Config, nip89_delete_announcement
|
||||
from utils.nostr_utils import send_event, update_profile
|
||||
|
||||
|
||||
@ -73,6 +73,18 @@ def admin_make_database_updates(adminconfig: AdminConfig = None, dvmconfig: DVMC
|
||||
if adminconfig.REBROADCAST_NIP89:
|
||||
nip89_announce_tasks(dvmconfig, client=client)
|
||||
|
||||
# TODO make this callable
|
||||
delete_previous_announcement = False
|
||||
if delete_previous_announcement:
|
||||
# privkey from sender
|
||||
keys = Keys.from_sk_str("")
|
||||
print("Pubkey generated from Private Key " + keys.public_key().to_hex())
|
||||
|
||||
print("Pubkey of Event: " + "") #pubkey from event, to compare to given privkey
|
||||
dtag = "" #dtag from event
|
||||
event_id = "" #id of event
|
||||
nip89_delete_announcement(event_id, keys, dtag, client, dvmconfig)
|
||||
|
||||
if adminconfig.UPDATE_PROFILE:
|
||||
update_profile(dvmconfig, lud16=adminconfig.LUD16)
|
||||
|
||||
|
@ -4,7 +4,7 @@ from hashlib import sha256
|
||||
from pathlib import Path
|
||||
|
||||
import dotenv
|
||||
from nostr_sdk import Tag, Keys, EventBuilder, Filter, Alphabet, PublicKey, Event
|
||||
from nostr_sdk import Tag, Keys, EventBuilder, Filter, Alphabet, PublicKey, Event, Client
|
||||
|
||||
from utils.definitions import EventDefinitions
|
||||
from utils.nostr_utils import send_event
|
||||
@ -24,7 +24,6 @@ def nip89_create_d_tag(name, pubkey, image):
|
||||
return d_tag
|
||||
|
||||
|
||||
|
||||
def nip89_announce_tasks(dvm_config, client):
|
||||
k_tag = Tag.parse(["k", str(dvm_config.NIP89.KIND)])
|
||||
d_tag = Tag.parse(["d", dvm_config.NIP89.DTAG])
|
||||
@ -35,6 +34,13 @@ def nip89_announce_tasks(dvm_config, client):
|
||||
print("Announced NIP 89 for " + dvm_config.NIP89.NAME)
|
||||
|
||||
|
||||
def nip89_delete_announcement(eid: str, keys: Keys, dtag: str, client: Client, config):
|
||||
e_tag = Tag.parse(["e", eid])
|
||||
a_tag = Tag.parse(["a", str(EventDefinitions.KIND_ANNOUNCEMENT) + ":" + keys.public_key().to_hex() + ":" + dtag])
|
||||
event = EventBuilder(5, "", [e_tag, a_tag]).to_event(keys)
|
||||
send_event(event, client, config)
|
||||
|
||||
|
||||
def nip89_fetch_all_dvms(client):
|
||||
ktags = []
|
||||
for i in range(5000, 5999):
|
||||
@ -77,9 +83,10 @@ def check_and_set_d_tag(identifier, name, pk, imageurl):
|
||||
else:
|
||||
return os.getenv("NIP89_DTAG_" + identifier.upper())
|
||||
|
||||
|
||||
def nip89_add_dtag_to_env_file(dtag, oskey):
|
||||
env_path = Path('.env')
|
||||
if env_path.is_file():
|
||||
print(f'loading environment from {env_path.resolve()}')
|
||||
dotenv.load_dotenv(env_path, verbose=True, override=True)
|
||||
dotenv.set_key(env_path, dtag, oskey)
|
||||
dotenv.set_key(env_path, dtag, oskey)
|
||||
|
Loading…
x
Reference in New Issue
Block a user