# @deadlock-delegate/notifier

> Allows you to subscribe and be notified about core events

Latest version **2.0.23** (published 2023-01-10) · MIT license · 0 weekly downloads

## Install

```sh
npm install @deadlock-delegate/notifier
pnpm add @deadlock-delegate/notifier
yarn add @deadlock-delegate/notifier
bun add @deadlock-delegate/notifier
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.23 |
| Published | 2023-01-10 |
| First published | 2019-05-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 177.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7 |
| Author | deadock |
| Maintainers | rokson |
| Keywords | blockchain, ark, solar, broadcaster |

## Links

- npm: https://www.npmjs.com/package/@deadlock-delegate/notifier
- Repository: https://github.com/deadlock-delegate/notifier
- Issues: https://github.com/deadlock-delegate/notifier/issues
- npm.io page: https://npm.io/package/@deadlock-delegate/notifier

## Dependencies (4)

- [axios](https://npm.io/package/axios.md) ^0.21.4
- [@types/node](https://npm.io/package/@types/node.md) ^16.9.1
- [@arkecosystem/crypto](https://npm.io/package/@arkecosystem/crypto.md) ^3.2.0 || ^4.0.0-next.9
- [@arkecosystem/core-kernel](https://npm.io/package/@arkecosystem/core-kernel.md) ^3.2.0 || ^4.0.0-next.9

## Alternatives

- [@mdxeditor/editor](https://npm.io/package/@mdxeditor/editor.md) — 962.4K weekly downloads
- [mmdb-lib](https://npm.io/package/mmdb-lib.md) — 680.9K weekly downloads
- [playcanvas](https://npm.io/package/playcanvas.md) — 36.2K weekly downloads
- [@glw907/cairn-cms](https://npm.io/package/@glw907/cairn-cms.md) — 967 weekly downloads
- [markdown-to-confluence](https://npm.io/package/markdown-to-confluence.md) — 103 weekly downloads

## Recent versions

- 2.0.23 (latest) — 2023-01-10
- 2.0.22 — 2023-01-10
- 2.0.21 — 2023-01-10
- 2.0.20 — 2023-01-10
- 2.0.19 — 2022-04-10
- 2.0.17 — 2022-04-04
- 2.0.16 — 2022-04-04
- 2.0.15 — 2022-04-04
- 2.0.14 — 2022-04-04
- 2.0.13 — 2022-04-04
- 2.0.12 — 2022-03-28
- 2.0.11 — 2021-10-04
- 2.0.10 — 2021-09-30
- 2.0.9 — 2021-09-30
- 2.0.8 — 2021-09-28
- … 59 more at https://npm.io/package/@deadlock-delegate/notifier/versions

## README

# Notifier Plugin

This plugin calls webhooks when a certain events occurs. You can use it to post alerts on Slack,
Discord, send Emails/SMS or use whichever service that supports webhooks.

#### ❤️ Support maintenance and development of plugins
If you find this or other plugins useful please consider voting for `deadlock` delegate on Solar or Ark networks.

## Installation

### Adding plugin to config

Before restarting your process, you need to add the plugin into the very end  `core.plugins` or `relay.plugins` section of `app.json` file:

```json
{
    "package": "@deadlock-delegate/notifier",
    "options": {
        "enabled": true,
        "explorerTx": "https://explorer.ark.io/transaction/",
        "webhooks": [{
          "endpoint": "https://discordapp.com/api/webhooks/612412465124612462/A1Ag12F&ijafa-3mtASA121mja",
          "payload": {
            "msg": "content"
          },
          "events": ["wallet.vote", "wallet.unvote", "forger.missing", "forger.failed"]
        }, {
          "endpoint": "https://hooks.slack.com/services/T1212ASDA/BAEWAS12/ASxASJL901ajkS",
          "payload": {
            "msg": "text"
          },
          "events": ["wallet.vote", "wallet.unvote", "forger.missing", "forger.failed"]
        },
        {
          "endpoint": "https://api.pushover.net/",
          "payload": {
            "msg": "message",
            "user": "<pushover user key>",
            "token": "<pushover token>"
          },
          "events": ["forger.missing", "forger.failed"]
        }]
    }
}
```

### For production (eg. mainnet/testnet/devnet):

1. Install plugin: `<command> plugin:install @deadlock-delegate/notifier`, eg: `ark plugin:install @deadlock-delegate/notifier` or `solar plugin:install @deadlock-delegate/notifier`
2. Add plugin to `app.json`
3. Start your node as you usually start it 

### For active development:

Assuming you don't run testnet locally via docker:

1. Clone this plugin into `plugins/` directory of the `core` project
2. Add plugin to `app.json`, for testnet the file can be found in: `core/packages/core/bin/config/testnet/app.json`
3. Go into the plugin's directory: `cd notifier`
4. Build plugin: `yarn build`
5. Run `yarn full:testnet` inside `core/packages/core` directory to start testnet with notifier plugin

### Configuration explanation

```json
{
  "package": "@deadlock-delegate/notifier",
  "options": {
    "enabled": true,
    "explorerTx": "https://explorer.ark.io/transaction/",
    "webhooks": [{
      "endpoint": "webhook endpoint url",
      "payload": {
        "msg": "name of the message field eg. Discord has 'content', Slack has 'text', Pushover has 'message'"
      },
      "events": ["list of events you want to subscribe to"],
    }]
  }
}
```

#### Events you can subscribe to

Handlers for unticked events haven't been implemented yet. Feel free to make a contribution.

- [x] wallet.vote
- [x] wallet.unvote
- [x] forger.missing - when a delegate fails to forge in a round (could be any delegate)
- [x] forger.failed - if your forger process fails to forge (only works if a plugin is running on a node with a forging process running)
- [x] forger.started - when your forging process starts
- [ ] block.applied
- [x] block.forged - when your forging process forges a new block
- [ ] block.reverted
- [x] delegate.registered
- [x] delegate.resigned
- [ ] peer.added
- [ ] peer.removed
- [ ] transaction.applied
- [ ] transaction.expired
- [ ] transaction.forged
- [ ] transaction.reverted
- [x] activedelegateschanged - when active delegates change (voted out/in) (note: this is a custom event and does not existing in `core`!)
- [x] voterbalancechanged:<delegate name> - when a specific delegates voter balance changes

## Credits

- [roks0n](https://github.com/roks0n)
- [console](https://github.com/c0nsol3/)
- [All Contributors](../../contributors)

## License

[MIT](LICENSE) © deadlock delegate

---
_Source: https://npm.io/package/@deadlock-delegate/notifier · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
