Automate the meetup.com network event - #53
Merged
Merged
Conversation
Creating the monthly meetup.com listing was the last manual event step. It now runs through create_meetup_event.py: one network event on the Austin group that propagates to all ten PyTexas groups, with the promo card as the event photo, created as a draft for review. The hard-won details are in references/meetup-event.md and encoded in the script: * Auth is OAuth. The consumer key/secret cannot mint a token headless (only the authorization-code and refresh-token grants exist), so a one-time browser authorize produced a refresh token, stored in sops. Meetup rotates the refresh token on every use, so the script writes the new one back each run. * Network propagation needs proNetworkEvents.filterId, the network's all-groups filter; without it the event stays single-group. * Event photos must be JPEG. A PNG upload is accepted by S3 but never processed by Meetup's photoscaler, so the script converts to JPEG first. * Topics are picked per talk from the group's active topics plus a suggestTopics search, up to five. Adds MEETUP_API_KEY, MEETUP_API_SECRET, and MEETUP_REFRESH_TOKEN to the encrypted secrets, and gitignores the local .meetup and *.har credential drops so they can't be committed.
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.Scanned FilesNone |
The Discord announcement templates linked the meetup.com event, which we don't want in those messages, and still pointed at last season's Canva deck. Drop the meetup.com event line (and its required field) and move DECK_URL/DECK_NAME to the 2027 Meetup Banners deck. references/announcements.md gets the same deck update plus a note to roll the deck over each September. Also refreshes the rotated meetup refresh token in the encrypted secrets.
Integrate #50, #51, and #52 from main. Two conflicts resolved: * SKILL.md: keep both the Discord (#52) and meetup.com (#53) event steps as automated in the overview, Step 11, and the resource list. * secrets/meetup.sops.env: merge to the union of all keys, the Discord bot token from main plus the Meetup OAuth key, secret, and refresh token from this branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automates the last manual event listing: the monthly meetup.com event, verified live (September is published and fanned out to all 10 PyTexas groups with the banner).
What changed
scripts/create_meetup_event.py— creates one network event onpytexas-virtual-meetup-austinthat propagates network-wide (proNetworkEvents.filterId), ONLINE at the Discord invite, first Tuesday 8-9 PM Central, as a DRAFT; converts the promo card to JPEG and sets it as the event photo.--dry-runprints the payload.references/meetup-event.md— the full playbook: OAuth (refresh-token rotation, one-time re-auth), the network filterId, the JPEG-only photo gotcha, topic picking, draft→publish.SKILL.md— Step 11 item 2, overview, and resource list now mark meetup.com automated.MEETUP_API_KEY,MEETUP_API_SECRET,MEETUP_REFRESH_TOKEN(encrypted)..gitignore—.meetupand*.harso local credential drops can't be committed.Key findings (in the reference doc)
proNetworkEvents.filterId(the network's all-groups filter). Without it the event stays single-group.Merge note
This branch and #52 (Discord event) both add keys to
secrets/meetup.sops.envand editSKILL.mdStep 11, so merging both will conflict. Resolution: keep all secret keys and both Step 11 items (Discord + meetup.com). Happy to help resolve at merge time.