This NodeBB plugin will allow you to add polls to posts.
There's helpful modal available that will allow you to easily create a poll:
If you're willing to help, please make any improvements you want and submit a PR.
- Create polls from the composer (topic posts and replies) via the poll button in the formatting bar; multiple polls per post are supported
- Edit polls in the composer: change the title, add/remove options, adjust the end time and per-poll settings
- Poll creation is gated by the
poll:createcategory privilege - Polls follow their post's lifecycle — deleting a post soft-deletes its polls, restoring it restores them
- Title for the poll
- Options — up to the site-wide maximum (default 10)
- Maximum votes per user —
1for single-choice (radio buttons), higher for multi-choice (checkboxes) - Optional end date/time — the poll closes automatically when reached; no more voting after that
- Allow anonymous voting — voters can opt to hide their identity; anonymous voters are masked in the per-option voter lists for everyone except privileged users
- Disallow vote updates — lock the poll so votes can't be changed once cast
- Logged-in users only (guests can view results if enabled in the ACP)
- Cast, change, and remove votes (subject to the per-poll settings above)
- Live results — vote changes are pushed to viewers in real time
- Per-option voter lists with percentages
- Default poll title
- Maximum number of options per poll
- Default maximum votes per user
- Allow guests to view results
Polls federate across the fediverse as ActivityPub Question objects per FEP-9967:
- Inbound: remote
Questionposts are ingested as polls and displayed with their current results. Local users can vote on remote polls, and each vote is federated back to the poll's author. - Outbound: local polls are published as
Questionobjects (single-choice asoneOf, multi-choice asanyOf), and votes received from remote actors are applied to the local poll's results.
Limitations:
- Only the first poll on a post is federated (FEP-9967 models one
Questionper poll); multiple polls per post are not supported. - Anonymous votes are not federated, since FEP-9967 votes are attributed to the voter's actor.
- Votes on remote polls can be changed or removed (federated as
Create/Deleteper FEP-9967), but not all servers support this — e.g. some ignoreDeleteof a vote — so the change may not be reflected on the remote poll.
Either through the NodeBB ACP or:
npm install nodebb-plugin-poll
