Egg Repository

Pterodactyl Community Egg Repository

Bastion

Bastion is a multi-purpose Discord Bot that can help you automate most tasks in your server, from administration and moderation to keeping the members active through various incentives, games and other fun activities

Read Me

Bastion

From their Github

Bastion is a multi-purpose Discord Bot that can help you automate most tasks in your server, from administration and moderation to keeping the members active through various incentives, games and other fun activities.

Running the bot

You need to enable both Privileged Gateway Intents for the bot to run.

Invite link: https://discord.com/oauth2/authorize?client_id=INSERT_APP_ID_HERE&scope=bot&permissions=8

Server Ports

Portdefault
Bastion API Port8377

Mongodb

Mongodb is automaticly running in the background. Leave Mongo URL to the default to use it. If you want to use a external mongodb server a connection string should look like: mongodb+srv://<username>:<password>@<ip>/?retryWrites=true&w=majority

Startup cmd

By default this should be npm start but if you want to register your slash commands set it to npm run commands it will activate the slash commands on discord's side. Then the server will crash, change it back to npm run to start the bot back up and have slash commands enabled.

Yolks
NameTag
Bastionghcr.io/ptero-eggs/yolks:bot_bastion
Variables and Startup

Startup Command

{{STARTUP_CMD}}

Variables

Bot Token

The Bot Token you get from https://discordapp.com/developers/applications/

Environment Variable: BOT_TOKEN
Default Value: GETABOTTOKEN
User Viewable:
User Editable:
Bot Client ID

The Bot ID you get from https://discordapp.com/developers/applications/

Environment Variable: BOT_ID
Default Value:
User Viewable:
User Editable:
Mongo URL

use `mongodb://127.0.0.1:27017/bastion` for using the build in mongodb server

Environment Variable: MONGO_URI
Default Value: mongodb://127.0.0.1:27017/bastion
User Viewable:
User Editable:
Music Activity

When enabled, Bastion updates the activity to the currently playing track

Environment Variable: BASTION_MUSIC_ACTIVITY
Default Value: true
User Viewable:
User Editable:
Relay Direct Messages

When enabled, Bastion will relay any direct messages it receives to the owner of the bot application / team.

Environment Variable: BASTION_RELAY_DMS
Default Value: false
User Viewable:
User Editable:
Safe Mode

When enabled, this disables usage of unsafe commands like `exec` and `eval`.

Environment Variable: UNSAFE_MODE
Default Value: false
User Viewable:
User Editable:
Bastion API Port

Port used for Bastion API Server

Environment Variable: BASTION_API_PORT
Default Value: 8377
User Viewable:
User Editable:
Bastion API Auth

Auth for accessing the Bastion API Server.

Environment Variable: BASTION_API_AUTH
Default Value:
User Viewable:
User Editable:
Startup cmd

set to `npm start` if you just want to start the bot. set to `npm run commands` to activate the slash commands

Environment Variable: STARTUP_CMD
Default Value: npm start
User Viewable:
User Editable:
Install Script
#!/bin/bash
# Bastion Bot Installation Script
#
# Server Files: /mnt/server
## Move to install folder
apt update
apt install -y build-essential libtool python3 git tar


mkdir -p /mnt/server/
cd /mnt/server/

if [ -d "/mnt/server/mongodb" ]
then
    cd /mnt/server/
    echo "backing up mongodb"
    REINSTALL=true
    tar -czf mongodb_backup.tar.gz mongodb/
    mv mongodb_backup.tar.gz /tmp
fi

cd /mnt/server
rm -rf * .git/ .github/ .env.example .eslintrc.yml .gitattributes .gitignore .npm/


## Clone repo
echo "cloning Bastion bot"
git clone -q --depth 1 https://github.com/TheBastionBot/Bastion.git ./

echo "updating npm"
npm install -g npm@latest
echo "npm install --no-package-lock"
npm install --no-package-lock
echo "npm run build"
npm run build

## Move config files.
mv settings.example.yaml settings.yaml
rm -rf bastion.cmd .env.example bastion.sh scrips/


mkdir -p mongodb/
if [ "$REINSTALL" == "true" ]
then
    cd /mnt/server
    echo "reinstall"
    mv /tmp/mongodb_backup.tar.gz /mnt/server
    tar xf mongodb_backup.tar.gz
    rm mongodb_backup.tar.gz
else
    echo "fresh install"
fi

echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"
Installation Imagenode:20-bookwormInstallation Entrypointbash