https://github.com/jlu5/limnoria-grapnel
Limnoria plugin to announce Slack-style webhooks to IRC
https://github.com/jlu5/limnoria-grapnel
Last synced: about 1 month ago
JSON representation
Limnoria plugin to announce Slack-style webhooks to IRC
- Host: GitHub
- URL: https://github.com/jlu5/limnoria-grapnel
- Owner: jlu5
- Created: 2023-05-06T18:58:26.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-06T04:56:15.000Z (9 months ago)
- Last Synced: 2025-02-14T08:43:32.539Z (3 months ago)
- Language: Python
- Size: 28.3 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Grapnel hooks for Limnoria
**Grapnel** allows announcing Slack-style webhooks to IRC channels, via Limnoria's HTTP server. Currently, only plain text payloads are supported.
## Install
Due to technical limitations, installation via Limnoria's PluginDownloader or pip is currently unavailable.
### Via Git checkout
Clone the Git repository somewhere and add the *parent* directory to your bot's `config directories.plugins` setting.
Make sure the directory that you save the plugin to matches the plugin name:```
$ git clone https://github.com/jlu5/Limnoria-Grapnel Grapnel
```After cloning, you can update your copy of the plugin in place by entering the Grapnel directory and running:
```
$ git pull
```## Usage
1) Configure the public base URL of your web server: `config plugins.grapnel.baseurl https://address.of.your.bot`
2) Create a webhook: `grapnel add [network] [channel]`
- `network` and `channel` default to the current network and channel, if you run this command in a channel.3) Save the URL generated and plug it into whatever app you want to announce events from.
- Replace `your-cool-app-name` with the name of the sending app; it will be reflected in the output by default
- **Make sure to keep this link private, as it includes the token!**4) Test the webhook: e.g.
```bash
$ curl -X POST -d '{"text": "hello world"}' -H 'Content-type: application/json' 'https://address.of.your.bot/grapnel/1?token=xxxxxx&sender=myapp'
```### Command index
- **`grapnel add [] []`** -- Creates a new Slack-compatible webhook endpoint for a given network + channel. `network` and `channel` default to the current network and channel if not specified.
- **`grapnel get `** -- Returns metadata and the URL for the webhook ID.
- **`grapnel listhooks [] []`** -- Lists webhooks set on the network + channel pair. `network` and `channel` default to the current network and channel if not specified.
- **`grapnel remove `** -- Removes the given webhook ID.
- **`grapnel resettoken `** -- Regenerates the token for the given webhook ID.### Output template
The `plugins.grapnel.format` option can be adjusted to change the output format. It supports these fields:
- `$name` (the sender name from the `sender=` part of the URL)
- `$text`
- Limnoria's standard substitutions:
- `$randomInt`
- `$botnick`
- `$today`
- `$now`
- `$randomDate`