lightning docs
commands
bridge join --name=<name>
joins a bridge using the given name
bridge leave
leaves the current bridge, if any
bridge reset --name=[name]
leaves the current bridge, if any, then rejoins a bridge
bridge toggle --setting=<setting>
toggles one of the following settings: allow_editing
,
use_rawname
bridge status
prints information about the bridge you're currently in
help
links to this site
ping
pings the bot and returns the response time in ms
version
prints the version of lightning used
configuring lightning
lightning looks for a config file passed with the
--config
flag or a config.ts
file
in the current directory.
the api docs
have a list of all the configuration options you can use. here's an
example config file:
import { guilded_plugin } from 'https://williamhorning.eu.org/bolt/x/bolt-guilded/0.7.1/mod.ts';
import { revolt_plugin } from 'https://williamhorning.eu.org/bolt/x/bolt-revolt/0.7.1/mod.ts';
import type { config } from 'jsr:@jersey/lightning@0.7.1';
export default {
cmd_prefix: 'l!',
plugins: [
guilded_plugin.new({
token: 'nope',
}),
revolt_plugin.new({
token: 'nope',
}),
],
redis_host: 'localhost',
redis_port: 6379,
} as config;
database migrations
the current version of lightning uses redis for storing data, but
the way that data is stored can change between versions. the
lightning migrations
command can let you migrate your
data between versions. if you need help, file an issue or join one
of the support servers
- Five: 0.5.0 - 0.6.2 (mongodb)
- Five: 0.5.0 - 0.6.2 (redis)
- Seven: ≥0.7.x
- Four: ≤0.4.12 (mongodb)
- FourBeta: 0.4.0 - 0.5.0 (mongodb)
- Five: 0.5.0 - 0.6.2 (mongodb)
supported original versions in 0.7.x
supported original versions in 0.6.2
developing plugins
plugins allow you to extend bolt's functionality by supplying support for other platforms or by adding commands. to create a plugin, export an implementation of the `plugin` class. see the api docs for more
hosting with deno
for production instances, you should use docker
-
install prerequisites:
- deno ≥1.42.4
- git
- redis ≥6.2
- clone the lightning repo
-
switch to a release branch (the latest is
0.7.1
) - install the lightning cli
- setup a config file
- run your instance with
lightning run
git clone https://github.com/williamhorning/lightning
cd lightning
git switch 0.6.0
deno install -A --unstable-temporal --name lightning ./cli.ts
lightning run
hosting with docker compose
-
install prerequisites:
- docker ≥20.10.21
- docker compose ≥2
- make a new folder on your server
-
setup a compose file with the following service:
lightning: # use `build: .` instead of the line below when running from source image: williamfromnj/bolt:0.7.1 volumes: - ./config:/app/data restart: always
- setup a
config.ts
file in the config folder - ensure that all needed ports are forwarded
-
use
docker compose exec lightning ...
instead oflightning ...
when you need to use migrations
security policy
thanks for looking into lightning's security! if you've found
security issues with bolt, please email
security (at) williamhorning (dot) dev
. with any issues
you find, please include as much detail as possible and DO NOT use
Github issues to report security issues. once we learn about
security issues in supported versions, we'll work to fix them as
soon as possible.
- ≥0.5
- 0.4.13 (patches only)
supported versions:
- publically disclose vulnerabilities
- exploit lightning instances you don't control
- target physical infrastructure
things not to do:
- take legal action against you
- reveal information about you without your consent
things we won't do: