A Discord bot that runs in a docker container and monitors the online status of websites, displays their metadata, and updates their status periodically using embedded messages.
All website data is stored in a SQLite database, including the message ID and channel ID of the embeded message. The bot periodically scans the database, checks if each website is accessible, and updates the corresponding status message in Discord.
| Comand | Dscription | Example Usage |
|---|---|---|
| !webstatus | Adds website to databse | !webstatus https://github.com |
| !nowebstatus | Reomove website from databse. Deletes message from server. | !nowebstatus https://github.com |
| !clearwebstatus | Delete all monitored websites from database and server | !clearwebstatus |
⚠️ Note: All websites must be in the formathttps://website.com
When you add a website using !webstatus, the bot will scrape the website metadata and retrieve its description and favicon.
- If no description is available, the bot will prompt you to provide one.
- If no favicon is available or valid, the bot will ask you to provide a direct
.pngimage URL.
⚠️ Note: The favicon URL must point directly to a.pngimage file.
⚠️ Note: This tends to fail with google websites. Currently working on a fix. The script thinks the google favicon is valid but no image is availble.
docker run -d \
--name discordbot-webpage-status \
--restart unless-stopped \
-e DISCORD_TOKEN=your_discord_bot_token_here \
-v websites-data:/app/data \
ghcr.io/zamnzim/discordbot-webpage-status:latest
services:
discordbot-webpage-status:
image: ghcr.io/zamnzim/discordbot-webpage-status:latest
container_name: discordbot-webpage-status
environment:
- DISCORD_TOKEN=your_discord_bot_token_here
volumes:
- websites-data:/app/data #Location for SQL Database
restart: unless-stopped
volumes:
websites-data: