From 8d78eca070d15d82f379b4e8ef988484085beb6f Mon Sep 17 00:00:00 2001 From: enki Date: Sun, 2 Mar 2025 21:39:11 -0800 Subject: [PATCH] Read me update and gitignore --- .gitignore | 22 +++++++++++++++ README.md | 81 +++++++++++++++++++++++++++++++++++------------------- 2 files changed, 74 insertions(+), 29 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..703fc5e --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Ignore build output +/build/ + +# Ignore content and archive folders +/content/ +/archive/ + +# Ignore config files except the sample +/config/* +!/config/config.sample.json + +# Ignore keys.json +/keys.json + + +# Ignore go build files +*.o +*.a +*.so + +# Ignore Go module cache +/pkg/ \ No newline at end of file diff --git a/README.md b/README.md index 536c136..d51fd6e 100644 --- a/README.md +++ b/README.md @@ -3,39 +3,62 @@ An automated content posting bot for Nostr networks. This tool allows you to schedule regular posting of images and videos to Nostr relays, supporting both NIP-94 and Blossom upload services. -### Core Implementation -- [x] replace hex format +# Nostr Poster -### Essential Settings -- [x] Make enable button functional -- [ ] Proper nostr Profile: - - [x] Bio - - [x] NIP-05 - - [ ] Username/display name - - [ ] Zap address - - [ ] PFP/banner upload - - [ ] Posting interval controls - - [ ] Content album selection +## Table of Contents +- [Plan for Nostr Poster Improvements](#plan-for-nostr-poster-improvements) +- [To-Do List](#to-do-list) -### Content System -- [x] Create upload/organization page -- [x] Implement manual post interface: - - [x] Text - - [x] Media upload - - [x] Kind:20 posts +### Priority Order -### Bot Interaction -- [ ] Develop basic bot feed: - - [ ] Display Comments - - [ ] Reply +1. [ ] Bot Profile Management: Complete proper profile creation, editing, and publishing +2. [ ] Relay Management: Improve relay selection and management interface +3. [ ] Test Auto-Posting: Ensure the scheduling system works correctly -### Validation -- [x] Test NSEC key import -- [ ] Test manual posts: - -[x] Text only - - [x] blossom Media upload - - [ ] NIP-94 uploads -- [ ] Verify bot reply works +## To-Do List + +### Bot Profile Management Enhancements + +- [ ] Add upload fields to both the "Create Bot" modal and "Bot Settings" modal +- [ ] Create a consistent interface for profile images across both modals +- [ ] Implement preview functionality for selected images +- [ ] Connect these uploads to the NIP-96/Blossom media servers +- [ ] Ensure proper kind 0 event creation with all required metadata fields +- [ ] Display confirmation after successful publishing with NIP-19 encoded identifiers +- [ ] Add a visual indicator to show when a bot's profile needs publishing (outdated) +- [ ] Create new file input fields in both modals with preview capability +- [ ] Create a shared function for uploading profile images to media servers +- [ ] Update the `CreateAndSignMetadataEvent` function to include all necessary fields for a proper NIP-01 metadata event +- [ ] Add an explicit "Publish Profile" button to push the kind 0 event to relays + +### Relay Management Improvements + +- [ ] Create a more intuitive relay management interface +- [ ] Add ability to categorize relays (read, write, both) +- [ ] Include relay testing functionality +- [ ] Add a "recommended relays" quick-add option +- [ ] Create a dedicated relay management component in the bot settings modal +- [ ] Add quick-add buttons for popular relays +- [ ] Include relay status indicators +- [ ] Implement relay tests (ping/connection checks) + +### Post Scheduling and Auto-Posting Testing + +- [ ] Add detailed logging for scheduled posts +- [ ] Create a manual trigger for testing scheduled posts +- [ ] Implement a post history view +- [ ] Add a "test now" button that triggers an immediate post attempt +- [ ] Create a dedicated tab or view for post history +- [ ] Implement proper error logging and status tracking + +### Code Changes Required + +- [ ] Modify `index.html` - Add profile image/banner upload fields +- [ ] Modify `main.js` - Add functions for handling profile image uploads +- [ ] Create a new component for relay management +- [ ] Modify `events.go` - Ensure metadata events are properly formatted +- [ ] Modify `bot_service.go` - Enhance profile publishing logic +- [ ] Modify `routes.go` - Add endpoints for profile image management ## Features