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

discord-guildport

v0.1.0

Published

A terminal client for permission-checked GuildPort Discord relays

Readme

discord-guildport

Interactive Discord community chat through a GuildPort-enabled bot. The command is dcgp.

Uses GuildPort accounts, not Discord passwords or user tokens. You need a running relay and a Discord server administrator to enable its channels.

npm install --global discord-guildport@latest
dcgp

Use ↑/↓ and Enter to log in, choose a shared server and select a channel. Menus fill one screen; type to filter servers/channels, Ctrl+U clears search, and Esc goes back. Refresh/back remain available even when nothing matches. Chat opens a full-screen view with a fixed channel header and bottom composer. Esc returns one level, Page Up / Page Down scroll, End follows the latest messages, and F2 shows IDs. New messages preserve your draft and reading position; Page Up at the top fetches older history (up to 500 messages per session). Run /register in Discord, read the privacy notice and accept it to obtain your GuildPort account and password. /dcgp privately supplies copyable login/menu commands with the URL and account filled in; passwords are entered separately at the CLI prompt.

CLI 0.1.0 is the first release without an alpha suffix. Releases use npm’s latest tag. Node.js 22.13+ and a compatible relay are required; relay operators should use server 0.1.0a5 or newer for the permission-query latency fix.

Ctrl+C exits the CLI; Esc returns one level. Enter sends the draft. Left/right moves its cursor, Shift+Enter (on supported terminals) or Ctrl+J inserts a newline, and Ctrl+U clears it. Multiline bracketed paste stays in the draft until Enter. /back also returns from chat. No local chat archive is written; history --json and watch --json remain available for scripts.

Shift+Enter uses Kitty/CSI-u or xterm modified-key sequences. Some terminals encode Shift+Enter exactly like Enter; use Ctrl+J there, or map Shift+Enter to \x1b[13;2u in terminal settings.

Requires Node.js 22.13+ and an ANSI terminal for full-screen chat. The CLI is available on npm; see the project README for relay setup and local tarball installation.

Scriptable commands

dcgp login --server https://relay.example.com --username gp_DISCORD_ID
dcgp whoami
dcgp guilds --json
dcgp channels GUILD_ID --json
dcgp history CHANNEL_ID --limit 30 --json
dcgp chat CHANNEL_ID
dcgp send CHANNEL_ID "Hello"
dcgp watch CHANNEL_ID --json
dcgp logout
dcgp logout --all

Login prompts without echoing the password; --password-stdin is available for scripts. The local token file is private on POSIX but not encrypted; protect your OS account and disk. Change the profile location with GUILDPORT_CONFIG_DIR.

Messages are not end-to-end encrypted: the relay operator and a TLS-terminating proxy provider can process plaintext. Messages are sent by the bot with sender attribution, and only administrator-enabled channels that both the user and bot can access are available. This release excludes DMs, threads and age-restricted channels. Some channels are conservatively read-only when the bot cannot establish a user's verification eligibility.

Source, server setup and limitations · API · Data handling

MIT licensed. Not affiliated with or approved by Discord.