Discord bot for archive.org, written in Go
The emoji functionality was deprecated September 1, 2024. Please see the issue on the issue tracker for more information.
Join the Discord for help and for deletion requests
Set some environment variables before launching, or add a .env
file.
If database environment variables are provided, the bot will save configuration to an external database.
Otherwise, it will save configuration to a local sqlite database at /var/go-discord-archiver/local.db
Variable | Value(s) |
---|---|
DB_NAME | Database name for database |
DB_HOST | Hostname for database |
DB_PASSWORD | Password for database user |
DB_USER | Username for database user |
REREGISTER_COMMANDS | Delete and re-register commands. Only use when command names are changed, unset after |
LOG_LEVEL | trace , debug , info , warn , error |
COOKIE | Archive.org login cookie, get this from a web browser's Dev Tools visiting Archive.org |
TOKEN | The Discord token the bot should use |
Right-click (or long press) a message and use "Get snapshot" to get a message with snapshots (or use the private option for a message only you can see) or select "Take snapshot" to take a fresh snapshot of the live page.
This is a pretty good way to get around paywalls to read articles for free.
Configure the bot:
/settings
Get a snapshot for one URL in a message visible only to you (It will ask if you want to try to find an existing snapshot or take a new one):
/archive
Get this help message:
/help
- It can take up to a few minutes for archive.org to save a page, so if you don't get a link immediately, please be patient.
Create a .env
file with your configuration, at the bare minimum you need
a Discord token for TOKEN
and an Archive.org Cookie for COOKIE
(Need at least PHPSESSID
, logged-in-sig
and logged-in-user
, looks like: PHPSESSID=12345; logged-in-sig=54321; logged-in-user=example%40example.com
).
Logins are currently good for a year.
You can either docker compose up --build
to run with a mysql database, or just go run main.go
to run with a sqlite database.