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

thelounge-plugin-pushover

v1.0.1

Published

A real-time notification plugin for The Lounge that sends mobile alerts via Pushover when your username is mentioned in IRC channels or via a direct message

Readme

The Lounge Pushover Plugin

A notification plugin for The Lounge that sends mobile alerts via Pushover when your username is mentioned in IRC channels or via a direct message

Acknowledgements

This project is based on thelounge-plugin-ntfy, which is licensed under the MIT License.

Modifications include removing ntfy related logic and replacing it with Pushover specific logic.

If you would prefer to use ntfy for notifications, I would recommend their plugin.

Setup

  1. Go to the lounge's config folder in your installation. Inside you should have a packages folder.
  2. Clone this repo into that folder
git clone https://github.com/andrewgraemebrooks/thelounge-plugin-pushover
  1. Install the plugin with the lounge
# Docker Install
docker exec -it thelounge sh -c "thelounge install file:/var/opt/thelounge/packages/thelounge-plugin-pushover"
# Non-Docker Install
thelounge install file:full/path/to/the/plugin
  1. Then in any channel setup the configuration of the plugin
  2. You can see all available commands by running
/pushover
  1. Set your pushover user key with
/pushover config set user <user key>
  1. Set your pushover user key with
/pushover config set token <app token>
  1. (Optional) Enable direct message notifications
/pushover config set notify_on_pms true
  1. You can double check your config with
/pushover config print
  1. Test your connection with
/pushover test
  1. If your test notification works, run
/pushover start
  1. You can see whether or not the plugin is running with
/pushover status
  1. Finally you can stop the plugin by running
/pushover stop

Development

Running the tests

Tests use Node's built-in test runner and nock for HTTP mocking. No extra setup required.

node --test tests/index.test.js

Install the plugin

  1. Clone the repo

  2. Create a docker container of the lounge by running:

docker compose up --detach
  1. Create a folder named thelounge-plugin-pushover in the packages subdirectory:
mkdir thelounge/packages/thelounge-plugin-pushover
  1. Symlink the files from the project into the packages folder:
ln package.json thelounge/packages/thelounge-plugin-pushover/package.json
ln index.js thelounge/packages/thelounge-plugin-pushover/index.js
  1. Install the plugin
docker exec -it thelounge sh -c "su node -c 'thelounge install file:/var/opt/thelounge/packages/thelounge-plugin-pushover'"

This command should print the following:

[INFO] Retrieving information about the package...
[INFO] Installing file:/var/opt/thelounge/packages/thelounge-plugin-pushover...
[INFO] file:/var/opt/thelounge/packages/thelounge-plugin-pushover has been successfully installed.

After it is installed you should see the following message in the container's logs:

Package thelounge-plugin-pushover vX.Y.Z loaded

Test it works

  1. Create a user
docker exec -it thelounge sh -c "thelounge add admin"
  1. Log in as this user to http://localhost:9000
  2. Log in to an irc network, see Testing with a local IRC server if you don't have one.
  3. Set your pushover credentials
/pushover config set token <app token>
/pushover config set user <user key>
  1. Run the test command to see if you get a notification
/pushover test

Step Debugging

  1. If you want to enable step debugging you need to uncomment the environmental variable lines in the compose.yaml file:
# Uncomment for debugging
environment:
    - 'NODE_OPTIONS=--inspect=0.0.0.0:9229'
  1. Stick a debugger; statement in the onServerStart(tl) function

  2. Stop the container, run the 'Attach The Lounge' vscode debug profile, and then restart the docker container.

  3. You should see a log Debugger listening on ws://0.0.0.0:9229/... and the debugger should stop on the breakpoint

Testing with a local IRC server

  1. Create an Ergo docker container
docker run --init --name ergo -d -p 6667:6667 -p 6697:6697 ghcr.io/ergochat/ergo:stable
  1. Connect to it via the lounge

| Setting | Value | | ------------------------------- | -------------------- | | Name | Ergo | | Server | host.docker.internal | | Port | 6667 | | Password | blank | | Use Secure Connection | false | | Only allow trusted certificates | false | | Enable Proxy | false | | Authentication | No authentication |

Testing two users talking with each other locally

  1. Create a new lounge docker container and connect to the irc server via the same credentials
docker run --detach --name thelounge2 --publish 9001:9000 ghcr.io/thelounge/thelounge:latest
  1. In one of the lounge instances, set the pushover config with your user key and app token
/pushover config set token <app token>
/pushover config set user <user key>
  1. Run the test command to see if you get a notification
/pushover test
  1. Switch over to the other lounge instance and try mentioning your user's name in a channel. If everything is working, you should get a notification.