Repository navigation
Releases: Quixomatic/RollcallBot
Releases · Quixomatic/RollcallBot
Release list
v1.0.30
Added
/silencecommand to make a member read-only without a visible timeout./silence setupcreates arollcall-silencedrole and denies it every send, react, thread, voice, invite and app permission on every category and channel, leaving View Channel and Read Message History untouched. It is safe to re-run and reports any channels it could not update./silence user,/silence removeand/silence listassign, remove and list the role. After silencing, the bot reports any channel where another role's allow overwrite still lets the member post, react or join voice, and it refuses to silence administrators, since they bypass channel permissions.- New channels automatically get the silence role's deny overwrite when created.
- README section on refreshing an expired Meetup session with
src/export-session.js.
Notes
/silenceneeds the bot to have Manage Roles plus every permission it denies, because Discord only lets a bot deny permissions it holds itself. See the README for the full list.
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.30v1.0.29
Fixed
- Events wrongly marked cancelled can now recover.
upsertEventclearsis_cancelledwhen an event reappears in a scrape. Previously the flag was permanent: an event only reaches the upsert because it was present in the scrape, but nothing ever reset the flag, so a wrongly cancelled event stayed hidden from every query forever and the only recovery was wiping the database. - A scrape that returns zero events no longer cancels the entire events table.
detectEventChangestreats an empty result as a failed scrape (selector miss, popup over the listing, half-expired session that still passesisLoggedIn()) and skips cancellation detection instead of flagging every stored event at once.
Changed
- Cancellation detection now logs what it flagged and why, including the scrape count it based the decision on, so a mass cancellation is visible in the logs instead of silent.
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.29v1.0.28
Added
src/export-session.js— export a PlaywrightstorageStatefrom a real, human-driven Chrome window over the DevTools protocol. The Meetup auth cookies arehttpOnlyand therefore invisible todocument.cookie, so CDP is the only way to capture them from a normal browser. Log in with real Chrome (where the captcha behaves), dump the session, copy the file to the host. Validates that the required auth cookies are present before writing, and leaves the Chrome window open on exit.
Fixed
login-server.jsno longer restores the existingstate.jsonbefore logging in. Meetup uses hCaptcha, and the saved state carries its reputation cookies (hmt_id,__cf_bm) along withMEETUP_BROWSER_ID. Once that browser identity was flagged, restoring it replayed the flag into every retry, so the captcha failed consistently rather than intermittently. Login now starts from a clean context, backing up any existing session first.login-server.jsno longer overwrites a workingstate.jsonwhen the login fails. It verifiesMEETUP_SESSION,__meetup_auth_access_tokenand__meetup_auth_refresh_tokenare present before saving, and exits non-zero otherwise.
Changed
- Removed the hardcoded
Chrome/131.0.0.0user agent fromlogin-server.js. The image ships Chromium 145, so the pinned string contradicted theSec-CH-UAclient hints on every request. The stealth plugin'suser-agent-overrideevasion now owns the UA, platform and client hints, keeping them consistent and masking Linux as Windows.
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.28v1.0.27
Fixed
/test-rsvpsnow posts to the current channel instead of the configured RSVP channel
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.27v1.0.26
Added
- Footer on RSVP embeds: "📋 RSVP on Meetup.com"
- Footer on comment embeds: "💬 Reply on Meetup.com"
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.26v1.0.25
Fixed
- Comments now display in chronological order (oldest first)
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.25v1.0.24
Changed
- Comment likes: use
Likes: Ntag with spacing instead of heart emoji
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.24v1.0.23
Changed
- Add spacing between comment groups in the comments embed
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.23v1.0.22
Fixed
- Fix comment scraping hanging: scope selectors to Comments section instead of matching page-wide
- Handle events with no comments gracefully (returns immediately)
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.22v1.0.21
Added
- Per-guild timezone config (
/config timezone) — defaults to America/New_York - Combined comment notifications — multiple new comments posted as one embed
- Nested reply support with
↳indentation and parent context - Like counts (❤️ N) on comments
- "More comments" button auto-clicked to load full history
/test-remindercommand/test-commentsposts to current channel- DB migrations (no reset needed)
Docker
docker pull ghcr.io/quixomatic/rollcallbot:1.0.21