Plugins
Plugins
Lightning uses a plugin system in order to support multiple platforms while remaining extensible and light, allowing you to choose which messaging apps you support. There are a number of existing plugins which are available:
lightning-plugin-discord
lightning-plugin-discord adds support for Discord to Lightning. To use it, you’ll first need to create a Discord bot at the Discord Developer Portal. After you do that, you will need to add the following to your config file:
import { discord_plugin } from 'jsr:@jersey/lightning-plugin-discord@0.8.0';
export default { prefix: '!', database: { type: 'postgres', config: { user: 'server', database: 'lightning', hostname: 'postgres', port: 5432, host_type: 'tcp', }, }, plugins: [ discord_plugin.new({ token: 'your_token', application_id: 'your_application_id', slash_commands: true, }), ],};
lightning-plugin-guilded
lightning-plugin-guilded adds support for Guilded. To use it, you’ll first need to create a Guilded bot. After you do that, you’ll need to add the following to your config file:
import { guilded_plugin } from 'jsr:@jersey/lightning-plugin-guilded@0.8.0';
export default { prefix: '/lightning ', database: { type: 'redis', config: { hostname: 'localhost', transport: 'tcp', port: 6380, }, }, plugins: [ guilded_plugin.new({ token: 'your_token', }), ],};
lightning-plugin-revolt
lightning-plugin-telegram adds support for Revolt. To use it, you’ll need to create a Revolt bot first. After that, you need to add the following to your config file:
import { revolt_plugin } from 'jsr:@jersey/lightning-plugin-revolt@0.8.0';
export default { prefix: '!bolt ', database: { type: 'mongo', database: 'mongodb://mongo:27017/lightning', redis: { hostname: 'redis', transport: 'tcp', port: 6380, }, }, plugins: [ revolt_plugin.new({ token: 'your_token', user_id: 'your_bot_user_id', }), ],};
lightning-plugin-telegram
lightning-plugin-telegram adds support for Telegram. Before using it, you’ll need to talk with @BotFather to create a bot. After that, you need to add the following to your config:
import { telegram_plugin } from 'jsr:@jersey/lightning-plugin-telegram@0.8.0';
export default { prefix: 'bot!', database: { type: 'postgres', config: { user: 'server', database: 'lightning', hostname: 'postgres', port: 5432, host_type: 'tcp', }, }, plugins: [ telegram_plugin.new({ bot_token: 'your_token', plugin_port: 8080, plugin_url: 'https://your.site:8080', }), ],};
Additionally, you will need to expose the port provided at the URL provided for attachments sent from Telegram to work properly
Adding a plugin
To develop a plugin and get it added to this list, please read the Developer Docs