This project serves as a Discord bot interface for visual novel metadata that is indexed and stored by a separate Laravel application. The bot provides notifications about visual novel updates to Discord users.
The project works in conjunction with FVN.li, a Laravel application that handles the actual indexing, metadata processing, and database management.
The Discord bot offers several commands:
/subscribe
- Subscribe to receive private messages whenever an update has been found/unsubscribe
- Unsubscribe from the private message/refresh
- Refresh metadata for a specific game/search
- Search for a particular pattern, and return all matches with update information
The bot periodically checks for updates and notifies subscribed users about new game versions.
Docker configurations are available in this project and the FVN.li web project. Both the bot and web components can be run via Docker using their respective configurations.
- Unix-like system or Windows
- Go 1.23 or later
- Discord bot application with Message Content Intent enabled
- Access to the FVN.li API
The following environment variables must be set before starting the application:
FVN.li API Configuration:
API_URL
- URL of the FVN.li APIAPI_KEY
- Your API key for accessing the FVN.li API
Discord Configuration:
DISCORD_API_KEY
- Bot token from Discord Developer PortalDISCORD_ADMIN_ID
- Discord user ID for the adminDISCORD_NOTIFICATIONS_CHANNEL_ID
- Channel ID for notifications
# Clone the repository
git clone https://github.com/AkibaAT/fvn.li-discord-bot.git
cd fvn.li-discord-bot
# Build the application
go build
# Start the Discord bot
./fvn.li-discord-bot
Alternatively, you can run directly with Go:
go run .
This bot works in conjunction with:
- FVN.li - A Laravel application that handles the indexing and metadata processing