1.6 KiB
XMPP Lightning Anti-Spam
In order to combat spam in public chat rooms, they can be configured so that new, unknown participants have to request voice before being able to write messages (known as a "moderated channel").
This bot listens to those voice requests, and when it sees one, it sends a direct message to the user, which offers to give them voice immediately, in exchange for a small amount of sats1, payable via the Lightning Network2.
Requirements
- Node.js and NPM
- An XMPP account, which has admin permissions for the channels you want it to manage voice requests in
- A hosted Lightning Network account compatible with LndHub clients (e.g. a Kosmos or Alby account, or self-hosted with lndhub.go).
Setup
Clone this repository:
git clone https://gitea.kosmos.org/raucao/xmpp-lightning-antispam.git
Install required dependencies:
npm install
Create a config file from the included sample:
cp samples/config.js config.js
Edit the config file using your favorite editor:
vim config.js
Start the program:
npm start
Deployment
Set up as described above, or use a cloud platform instead.
An example for a systemd service can be found in
samples/xmpp-lightning-antispam.service
.
Contact
E-Mail, Chat, Social, Lightning: raucao@kosmos.org