| src/main/java/xyz/plavpixel/rsspigeon | refactor class to remove old name | |
| .gitignore | init | |
| Containerfile | init | |
| LICENSE.md | init | |
| pom.xml | add shade plugin to fix executable jar manifest | |
| README.md | init | |
RSSPigeon
View your favorite RSS/Atom feeds in Discord!
Notice: this project is new and actively being refactored. Expect undocumented bugs, edge cases, etc. The source code contains many TODO's which are being worked on.
Quick Start
Easy method
As there is no stable release yet, you can use the dev branch bot on Discord right now.
Otherwise, see below for manual building.
Requirements
- Java 17+
- GraalVM 17+ (optional, see build section)
- Maven
- Discord bot token
Build
Standard .jar file:
mvn clean package
GraalVM can compile directly to machine code using native image:
mvn clean package -Pnative
Statically linked native image:
mvn clean package -Pnative-static
Config
Create ~/.rsspigeon/config.toml:
discord_token = "YOUR_TOKEN_HERE"
global_min_polling_rate_minutes = 10
command_timeout_seconds = 5
servers_db_path = "servers.db"
users_db_path = "users.db"
admin_users = []
blacklisted_feeds = []
blacklisted_users = []
Run the bot
java -jar target/rsspigeon-*.jar
Containers
This project should work with different container runtimes such as docker and podman.
docker build -f Containerfile -t rsspigeon .
docker run -v $(pwd)/data:/app/.rsspigeon -p 49153:49153 rsspigeon
Commands
Slash commands
| Command | Description |
|---|---|
/tos |
accept tos |
/feed add <url> <name> [rate] |
add feed |
/feed remove <name> |
remove feed |
/feed channel <target> |
set output channel (servers only) |
/feed list |
list feeds |
/feed blacklist [link] [user] |
global blacklist (admins only) |
Console commands:
Attach to existing running instance:
java -jar rsspigeon.jar --attach
Other commands: help, status, update-all, version, detach, stop
CI/CD Releases
Upon every stable release, a .jar will be automatically built and published in Codeberg releases. This .jar should work on all operating systems with a JVM.
Additionally, a statically linked Linux image will be built which should work on all distros and not require a JVM.
License
BSD 3-Clause, see LICENSE.md