AhhhBot is designed to enhance your Palworld gaming experience by allowing you to manage your Palworld Game Server directly through Discord. With a range of features including whitelisting, in-game join/leave messages, player management (ban, kick), and broadcast messaging capabilities, this bot streamlines server administration and communication for Palworld players.
/serverconfig
: Displays options to configure your Palworld Server within the Discord Server.
/addpalserver
: Add a Palworld Server by providing server details./listpalservers
: View the list of added Palworld Servers./removepalserver [server]
: Remove a previously added Palworld Server./whitelist [server] [enabled]
: Enable or disable whitelist for a Palworld Server./addwhitelist [server] [steamid] [playeruid] [discorduser]
: Add a player to the whitelist. Optionally, mention the Discord user for role assignment and announcement./removewhitelist [server] [playername] [discorduser]
: Remove a player from the whitelist. Optionally, mention discord user to remove associated Discord roles./linkwhitelist [server] [playername] [discorduser]
: Links a Game Player to a Discord User, granting them Whitelist roles and Welcome message if specified./unlinkwhitelist [server] [playername]
: Unlinks a Game Player from a Discord User, removes thier Whitelist roles if specified./save
: Save the current Palworld game state./broadcast [server] [message]
: Send a message to players on the Palworld Server./banplayer [server] [playersteamid]
: Ban a player by their Steam ID./kickplayer [server] [playersteamid]
: Kick a player by their Steam ID.(Skip if you are using Docker) Create a .env File in the root directory.
DEBUG=false
TOKEN=
BOT_APPLICATION_ID=
CUSTOM_STATUS_MESSAGE=
STATUS_UPDATE_INTERVAL=10000
SERVER_POLLING_INTERVAL=5000
STATUS_UPDATE_INTERVAL: Interval for Updating Status Message in Discord.
SERVER_POLLING_INTERVAL: Interval for polling the PalWorld Game Server to fetch new data.
Run a Docker Container using:
docker container run \
--name ahhhbot \
-d \
-v <host_data_directory>:/app/data \
-e DEBUG=false \
-e TOKEN=<bot_token> \
-e BOT_APPLICATION_ID=<bot_application_id> \
-e CUSTOM_STATUS_MESSAGE="<custom_status_message>" \
-e STATUS_UPDATE_INTERVAL=10000 \
-e SERVER_POLLING_INTERVAL=5000 \
abhi4124/ahhhbot:latest
Replace the values in <> with your own values.
Clone the repo or Download the Source as Zip.
Install the NPM Packages using:
npm install
To run the Discord bot just start it using NodeJs:
node index.js
If you are deploying the bot on a server or hosting it locally, I would recommend using pm2 to start the node project.
Install PM2 if not installed already:
npm install pm2 -g
Start the Bot using:
pm2 start index.js
Easier Server Management Using UI within discord itself.
Player lists and player history tracking
Server: NodeJS 20.11.0 LTS