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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@itsanametoo/messenger

v1.0.2

Published

Sends you a message when a vote, unvote or missed block occurs

Downloads

6

Readme

Simple Messenger

Sends you a message when a vote, unvote or missed block occurs

Inspired by the notifier plugin of delegate deadlock!

Installation

Clone

yarn global add @itsanametoo/messenger

Register Plugin

Edit the plugin config file located at:

~/.config/ark-core/{mainnet|devnet|testnet}/plugins.js

Add the following snippet to the end of the file (or at least after core-p2p gets included):

module.exports = {
    '@arkecosystem/core-event-emitter': {},
    ...
    // Snippet to add
    '@itsanametoo/messenger': {
        enabled: true, // Enables the plugin, default value is false
        delegates: ['exampleDelegate', 'exampleDelegate2'] // A list of delegate names to track, leave it empty if you want to receive messages for every delegate
        events: {
            vote: ['slack', 'discord'], // List which webhooks should be triggered if the event occurs
            unvote: ['discord'],
            missed: ['discord2']
        },
        webhooks: { // Define different webhooks that can be linked to events
            slack: {
                url: 'a slack webhook url',
                field: 'text',
                type: 'slack'
            },
            discord: {
                url: 'a discord webhook url',
                field: 'content',
                type: 'discord'
            },
            discord2: {
                url: 'a different discord webhook url',
                field: 'content',
                type: 'discord'
            }
        }
}

You need to configure the above snippet to match your own needs. An example snippet to sends messages for all three events on discord when they apply to delegate itsanametoo, would look as follows:

'@itsanametoo/messenger': {
    enabled: true,
    delegates: ['itsanametoo'],
    events: {
        vote: ['discord'],
        unvote: ['discord'],
        missed: ['discord']
    },
    webhooks: {
        discord: {
            url: 'https://discordapp.com/api/webhooks/some-webhook-url',
            field: 'content',
            type: 'discord'
        }
    }
}

You can add as many webhooks as you need and give them whatever name you want. You only have to make sure that the webhook names you use for the different events in the config match with the ones you've listed under webhooks. The field property is used as key to send the data to your specified webhook; for Slack you need to use text and for Discord it's content. Don't forget to specify the type of the webhook too, which can either be slack or discord. If you use a different service to post your webhook too, then simply omit the whole type property.

Enabling

Before the plugin will be picked up by the core implementation, you need to restart the process. The easiest way to achieve this is by running the pm2 restart all command. Afterwards you can check if everything is running fine again with the pm2 logs command.

If the plugin is enabled, it will show a logline prefixed with [MESSENGER] during startup.

Testing

The easiest way to test if the notifications work, is by having an address vote / unvote the delegate(s) you want to be notified of.

Credits

License

MIT © ItsANameToo