Run your own Discord bot to post official Path of Exile news to a channel you choose. It checks for news every 10 minutes, remembers delivered announcements, and retries failed deliveries.
New installations create their configuration and history automatically.
You need a Discord server you can manage and Docker Desktop (Linux containers mode) or Docker Engine with the Compose plugin. Keep the host computer awake and Docker running while you want the bot online.
- Open the Discord Developer Portal and create an application.
- Open Bot, generate a bot token, and save it for the next step.
- Under Privileged Gateway Intents, enable Message Content Intent and save. The bot reads commands beginning with
!. - On Installation, enable Guild Install and select Discord Provided Link. Under the Guild Install settings, add the
botscope and these permissions: View Channels, Send Messages, Embed Links, and Read Message History. - Open the install link and add the bot to your server. Ensure its role can access both the announcement channel and the channel where you will type commands.
See Discord's application setup guide and intent documentation for portal details.
Clone this repository and open a terminal in its folder. Copy .env.example to .env.
PowerShell:
Copy-Item .env.example .env
notepad .envLinux or macOS:
cp .env.example .envOpen .env in a text editor and replace the placeholder with your bot token:
BOT_TOKEN=your_discord_bot_tokenOnly the token needs to change for a default setup. Keep .env private; it is excluded from Git and the Docker image.
docker compose up -d --build
docker compose logs --tail=100 -f botWait for Logged in as ...; news source: rss. Press Ctrl+C to close the log viewer; the container continues running. Node.js is included in the image.
In a server channel the bot can read, run:
!setpoechannel #game-news
!poenewsstatus
Replace #game-news with your channel and select the actual channel mention in Discord. Your Discord account needs Manage Channels, Manage Messages, Kick Members, or Administrator.
By default, the bot records existing feed entries and waits for new announcements. To post the latest announcement immediately:
!postpoenews latest
Your server configuration and delivery history are saved in a Docker volume and survive container rebuilds.
The default source is GGG's official news feed: game announcements, events, community news, and store promotions. It can include news for both Path of Exile games.
You can instead select GGG's Steam announcements for PoE 1, PoE 2, or both. Optional X posts require an RSS provider you supply. See news sources and configuration.
Run these in your server using one of the moderator permissions listed above.
| Command | Action |
|---|---|
!setpoechannel #channel |
Choose the announcement channel. |
!setpoetag <text or role mention> |
Set text or a role mention to include with news. |
!setpoetag clear |
Remove the tag. |
!poenewsstatus |
Show the channel, feed health, and pending deliveries. |
!postpoenews latest |
Post the latest news now. |
!postpoenews <announcement URL> |
Post a saved announcement or one in the current feed. |
!togglex |
Toggle X posts for this server; requires X_RSS_URL. |
!unsetpoechannel |
Stop announcements for this server. |
!poenewshelp |
Show command help. |
Manual posting targets the current server and skips announcements already delivered there.
View logs any time from the repository folder:
docker compose logs --tail=100 -f botTo update:
git pull
docker compose build --pull
docker compose up -dKeep your existing .env when updating. See operations and troubleshooting for stopping the bot, applying settings, backups, and common errors.
Complete the Discord bot and .env setup above, then use Node.js 24 or Node.js 22.13+ in the 22 release line:
npm ci
npm startChoose the channel with !setpoechannel as above. The example configuration stores local data in data/. Leave the terminal running, or use a process manager for unattended hosting.
npm ci
npm run check
npm run check:feedscheck runs ESLint and offline tests. check:feeds checks the configured news source without logging in to Discord or posting messages. GitHub Actions checks Windows and Linux with Node.js 22 and 24.
MIT. Not affiliated with or endorsed by Grinding Gear Games.