npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@helyx/module-polls

v1.0.13

Published

Run clear single or multiple-choice polls.

Readme

Polls module

Polls lets authorised members prepare a private preview and then publish a single-choice or multiple-choice poll to a Discord text or announcement channel. Polls accept between 2 and 10 unique choices. Ballots remain private, and public cards never reveal who selected an option.

This package is in Testing. It contains the executable Discord workflow, bounded record declarations, durable behavioural task handlers, privacy provider and authenticated dashboard Polls resource. Testing status must be retained until the migration, shard-safe scheduler and live Discord acceptance evidence have passed.

Permissions

Helyx needs View Channel, Send Messages and Read Message History so it can post and update its poll message. It does not request Administrator, Manage Messages, Manage Roles, Mention Everyone or Message Content.

The stable command permissions are poll.create, poll.close, poll.results and poll.list. Creation and list management default to members with Manage Messages. Closing also applies the stored creator's resource-scoped authority. Aggregate dashboard reads require polls.read; retained voter identities and selections require the narrower polls.voters.read.

Configuration

The dashboard provides defaults for selection mode, maximum selections, result visibility, vote changes, duration, an optional voter role and public creator attribution. Published polls snapshot these values, so later default changes do not reinterpret an existing poll.

Stored data and retention

Helyx stores the poll's Discord server, channel and message IDs, its question, ordered choice labels, snapshotted voting rules and lifecycle state. Creator and closer IDs are nullable attribution. Current ballot rows store only the Discord voter ID and selected opaque option IDs. Usernames, display names, avatars, email addresses and device details are not stored.

At closure, aggregate counts are retained separately from individual ballots. Ballot identities are scheduled for deletion after 30 days and aggregate poll history after 180 days. These fixed deadlines are committed with closure into the core retention lane, so deletion does not depend on Polls remaining enabled or installed. Creator-authored question and choice text is subject to manual privacy review when it may identify a requester. Runtime privacy erasure must detach attribution, delete only the requester's ballot rows, preserve anonymous final aggregates and make no Discord API calls.

Operational boundary

Polls uses the shared record, message-builder, permission, rate-limit, logging, privacy and durable scheduled-task services. It must not open a database connection, create module-owned timers or schedulers, duplicate the Discord renderer, or emit a customer log for each vote.