{"meta":{"slug":"pterodactyl-bastion","name":"Pterodactyl Bastion","category":"discord","source":"pelican","owner":"pelican-eggs","repo":"chatbots","branch":"main","path":"discord/bastion/egg-pterodactyl-bastion.json","rawUrl":"https://raw.githubusercontent.com/pelican-eggs/chatbots/main/discord/bastion/egg-pterodactyl-bastion.json","indexedAt":1792246788483},"egg":{"_comment":"DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO","meta":{"update_url":null,"version":"PTDL_v2"},"exported_at":"2024-06-01T19:44:09+00:00","name":"Bastion","author":"parker@parkervcp.com","description":"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","features":null,"docker_images":{"Bastion":"ghcr.io/parkervcp/yolks:bot_bastion"},"file_denylist":[],"startup":"{{STARTUP_CMD}}","config":{"files":"{}","logs":"{}","startup":"{\r\n    \"done\": \"Ready\"\r\n}","stop":"^^C"},"scripts":{"installation":{"container":"node:20-bookworm","entrypoint":"bash","script":"#!/bin/bash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: /mnt/server\r\n## Move to install folder\r\napt update\r\napt install -y build-essential libtool python3 git tar\r\n\r\n\r\nmkdir -p /mnt/server/\r\ncd /mnt/server/\r\n\r\nif [ -d \"/mnt/server/mongodb\" ]\r\nthen\r\n    cd /mnt/server/\r\n    echo \"backing up mongodb\"\r\n    REINSTALL=true\r\n    tar -czf mongodb_backup.tar.gz mongodb/\r\n    mv mongodb_backup.tar.gz /tmp\r\nfi\r\n\r\ncd /mnt/server\r\nrm -rf * .git/ .github/ .env.example .eslintrc.yml .gitattributes .gitignore .npm/\r\n\r\n\r\n## Clone repo\r\necho \"cloning Bastion bot\"\r\ngit clone -q --depth 1 https://github.com/TheBastionBot/Bastion.git ./\r\n\r\necho \"updating npm\"\r\nnpm install -g npm@latest\r\necho \"npm install --no-package-lock\"\r\nnpm install --no-package-lock\r\necho \"npm run build\"\r\nnpm run build\r\n\r\n## Move config files.\r\nmv settings.example.yaml settings.yaml\r\nrm -rf bastion.cmd .env.example bastion.sh scrips/\r\n\r\n\r\nmkdir -p mongodb/\r\nif [ \"$REINSTALL\" == \"true\" ]\r\nthen\r\n    cd /mnt/server\r\n    echo \"reinstall\"\r\n    mv /tmp/mongodb_backup.tar.gz /mnt/server\r\n    tar xf mongodb_backup.tar.gz\r\n    rm mongodb_backup.tar.gz\r\nelse\r\n    echo \"fresh install\"\r\nfi\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\""}},"variables":[{"name":"Bot Token","description":"The Bot Token you get from https://discordapp.com/developers/applications/","env_variable":"BOT_TOKEN","default_value":"GETABOTTOKEN","user_viewable":true,"user_editable":true,"rules":"required|string|max:80","field_type":"text"},{"name":"Bot Client ID","description":"The Bot ID you get from https://discordapp.com/developers/applications/","env_variable":"BOT_ID","default_value":"","user_viewable":true,"user_editable":true,"rules":"required|string|max:32","field_type":"text"},{"name":"Mongo URL","description":"use `mongodb://127.0.0.1:27017/bastion` for using the build in mongodb server","env_variable":"MONGO_URI","default_value":"mongodb://127.0.0.1:27017/bastion","user_viewable":true,"user_editable":true,"rules":"required|string|max:128","field_type":"text"},{"name":"Music Activity","description":"When enabled, Bastion updates the activity to the currently playing track","env_variable":"BASTION_MUSIC_ACTIVITY","default_value":"true","user_viewable":true,"user_editable":true,"rules":"required|string|in:true,false","field_type":"text"},{"name":"Relay Direct Messages","description":"When enabled, Bastion will relay any direct messages it receives to the owner of the bot application / team.","env_variable":"BASTION_RELAY_DMS","default_value":"false","user_viewable":true,"user_editable":true,"rules":"required|string|in:true,false","field_type":"text"},{"name":"Safe Mode","description":"When enabled, this disables usage of unsafe commands like `exec` and `eval`.","env_variable":"UNSAFE_MODE","default_value":"false","user_viewable":true,"user_editable":true,"rules":"required|string|in:true,false","field_type":"text"},{"name":"Bastion API Port","description":"Port used for Bastion API Server","env_variable":"BASTION_API_PORT","default_value":"8377","user_viewable":true,"user_editable":false,"rules":"required|string|max:10","field_type":"text"},{"name":"Bastion API Auth","description":"Auth for accessing the Bastion API Server.","env_variable":"BASTION_API_AUTH","default_value":"","user_viewable":true,"user_editable":true,"rules":"nullable|string|max:128","field_type":"text"},{"name":"Startup cmd","description":"set to `npm start` if you just want to start the bot.\r\nset to `npm run commands` to activate the slash commands","env_variable":"STARTUP_CMD","default_value":"npm start","user_viewable":true,"user_editable":true,"rules":"required|string|in:npm start,npm run commands","field_type":"text"}]},"readme":"# Bastion\n\n## From their [Github](https://github.com/TheBastionBot/Bastion)\n\nBastion 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.\n\n\n## Running the bot\n\nYou need to enable both `Privileged Gateway Intents` for the bot to run.\n\nInvite link: `https://discord.com/oauth2/authorize?client_id=INSERT_APP_ID_HERE&scope=bot&permissions=8`\n\n## Server Ports\n\n\n|            Port       | default |\n|-----------------------|---------|\n|  Bastion API Port     | 8377    |\n\n## Mongodb\n\nMongodb 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`\n\n## Startup cmd\nBy 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."}