diff --git a/bots/discord/bastion/README.md b/bots/discord/bastion/README.md index c57d5814..1dc840db 100644 --- a/bots/discord/bastion/README.md +++ b/bots/discord/bastion/README.md @@ -5,5 +5,9 @@ Give awesome perks to your Discord server! ### Install notes Due to rate limiting the console on the panel cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log. +## Running the bot +You need to enable both `Privileged Gateway Intents` for the bot to run. +Enable this from `https://discord.com/developers/applications//bot` + ### Server Ports No Ports are required for the bastion bot. \ No newline at end of file diff --git a/bots/discord/bastion/egg-bastion.json b/bots/discord/bastion/egg-bastion.json index 4355f1d8..5a298b10 100644 --- a/bots/discord/bastion/egg-bastion.json +++ b/bots/discord/bastion/egg-bastion.json @@ -3,35 +3,26 @@ "meta": { "version": "PTDL_v1" }, - "exported_at": "2019-05-06T23:13:44-04:00", + "exported_at": "2020-06-20T13:11:43-04:00", "name": "Bastion", "author": "parker@parkervcp.com", "description": "Bastion is an all-in-one multipurpose Discord bot that can do a whole bunch of things and its features are expanding daily. Bastion does everything most people will ever need it to do. Check out some feature highlights below to get a peek into the vast feature list of Bastion. And if you think Bastion lacks some feature, please send a suggestion and we will add it to Bastion as soon as possible.", "image": "quay.io\/parkervcp\/pterodactyl-images:bot_bastion", - "startup": "node -r .\/utils\/globals.js .", + "startup": "\"rmv() { echo -e \"stopping nodejs\"; for i in $(pgrep node); do kill $i; done; echo -e \"stopping mongo\"; mongo --eval \\\"db.getSiblingDB('admin').shutdownServer()\\\" ; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; mongod --fork --dbpath \/home\/container\/mongodb\/ --port 27017 --logpath \/home\/container\/mongod.log && until nc -z -v -w5 127.0.0.1 27017; do echo 'Waiting for mongodb connection...'; sleep 5; done && yarn start\"", "config": { - "files": "{\r\n \"settings\/credentials.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"botId\": \"{{server.build.env.BOT_ID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n }\r\n}", - "startup": "{\r\n \"done\": \"I'm ready to roll!\"\r\n}", + "files": "{\r\n \"settings\/credentials.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n },\r\n \"settings\/configurations.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"presence.status\": \"{{server.build.env.STATUS}}\",\r\n \"presence.activity.type\": \"{{server.build.env.ACTIVITY}}\",\r\n \"presence.activity.name\": \"{{server.build.env.PLAYING}}\",\r\n \"presence.activity.url\": \"{{server.build.env.STREAM_URL}}\"\r\n }\r\n }\r\n}", + "startup": "{\r\n \"done\": \"Systems Ready!\"\r\n}", "logs": "{}", "stop": "^C" }, "scripts": { "installation": { - "script": "#!\/bin\/ash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n## Install Requirements\r\napk --no-cache add python g++ make git\r\n\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -b stable -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\n## Install node_modules\r\nyarn install --only=production\r\n\r\n## Move config files.\r\nmv settings\/credentials.example.yaml settings\/credentials.yaml\r\nmv settings\/configurations.example.yaml settings\/configurations.yaml", - "container": "node:10-alpine", - "entrypoint": "ash" + "script": "#!\/bin\/bash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\n## Install node_modules\r\nyarn install --only=production\r\n\r\n## Move config files.\r\nmv settings\/credentials.example.yaml settings\/credentials.yaml\r\nmv settings\/configurations.example.yaml settings\/configurations.yaml\r\n\r\n## make folders for mongodb\r\nmkdir mongodb\/", + "container": "node:12-buster", + "entrypoint": "bash" } }, "variables": [ - { - "name": "Bot ID", - "description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/", - "env_variable": "BOT_ID", - "default_value": "GETABOTID", - "user_viewable": 1, - "user_editable": 1, - "rules": "required|string|max:32" - }, { "name": "Bot Token", "description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/", @@ -40,6 +31,42 @@ "user_viewable": 1, "user_editable": 1, "rules": "required|string|max:64" + }, + { + "name": "Bot Status", + "description": "valid values are `online`, `idle`, `dnd` and `invisible`", + "env_variable": "STATUS", + "default_value": "online", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:20" + }, + { + "name": "Activity Type", + "description": "valid options are `PLAYING`, `LISTENING`, `WATCHING` and `STREAMING`", + "env_variable": "ACTIVITY", + "default_value": "PLAYING", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:9" + }, + { + "name": "ACTIVITY", + "description": "What the bot is doing", + "env_variable": "PLAYING", + "default_value": "on a pterodactyl server", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string|max:64" + }, + { + "name": "Stream URL", + "description": "If the bot activity is set to `STREAMING`", + "env_variable": "STREAM_URL", + "default_value": "", + "user_viewable": 1, + "user_editable": 1, + "rules": "nullable|string|max:64" } ] } \ No newline at end of file