From 95a65646f8cd36b28470d2ad457dd27fae6755b4 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 29 Mar 2021 22:13:10 -0400 Subject: [PATCH] add luvit generic --- bots/discord/lua/luvit/README.md | 7 ++ bots/discord/lua/luvit/egg-luvit-generic.json | 95 +++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 bots/discord/lua/luvit/README.md create mode 100644 bots/discord/lua/luvit/egg-luvit-generic.json diff --git a/bots/discord/lua/luvit/README.md b/bots/discord/lua/luvit/README.md new file mode 100644 index 00000000..8c51a6c3 --- /dev/null +++ b/bots/discord/lua/luvit/README.md @@ -0,0 +1,7 @@ +# luvit generic + +This egg was designed to allow a user to pull their own lua discord bot from a repo and run it with luvit. + +There is an option to allow a user to upload their own files to run a bot. + +The startup configs and commands may need changing to actually function properly. \ No newline at end of file diff --git a/bots/discord/lua/luvit/egg-luvit-generic.json b/bots/discord/lua/luvit/egg-luvit-generic.json new file mode 100644 index 00000000..ecdb6564 --- /dev/null +++ b/bots/discord/lua/luvit/egg-luvit-generic.json @@ -0,0 +1,95 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1", + "update_url": null + }, + "exported_at": "2021-03-30T02:11:23+00:00", + "name": "luvit generic", + "author": "parker@parkervcp.com", + "description": "A generic luvit egg This will clone a git repo for a bot. It defaults to master if no branch is specified.\r\n\r\nSupports the discordia lua framework.", + "features": null, + "images": [ + "quay.io\/parkervcp\/pterodactyl-images:base_debian" + ], + "file_denylist": [], + "startup": ".\/luvit {{LUA_FILE}}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"change me\"\r\n}", + "logs": "{}", + "stop": "^c" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash\r\n## luvit generic install script\r\n\r\napt update\r\napt install -y git curl jq file unzip\r\n\r\n## get git files\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\nfi\r\n\r\n## install luvit for install time\r\ncurl -L https:\/\/github.com\/luvit\/lit\/raw\/master\/get-lit.sh | sh\r\n\r\n## Install luvit packages\r\n.\/lit install ${LIT_PACKAGES}", + "container": "debian:buster-slim", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Git Username", + "description": "Username to auth with git.", + "env_variable": "USERNAME", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string" + }, + { + "name": "Git Access Token", + "description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens", + "env_variable": "ACCESS_TOKEN", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string" + }, + { + "name": "Git Repo Address", + "description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name", + "env_variable": "GIT_ADDRESS", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string" + }, + { + "name": "User Uploaded Files", + "description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true", + "env_variable": "USER_UPLOAD", + "default_value": "0", + "user_viewable": true, + "user_editable": false, + "rules": "required|bool" + }, + { + "name": "Git Branch", + "description": "What branch to pull from github.\r\n\r\nDefault is blank to pull the repo default branch", + "env_variable": "BRANCH", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string" + }, + { + "name": "Bot lua file", + "description": "The Lua file to run", + "env_variable": "LUA_FILE", + "default_value": "bot.lua", + "user_viewable": true, + "user_editable": true, + "rules": "required|string" + }, + { + "name": "Lit Packages", + "description": "Lit Packages to install\r\n\r\nexample\r\nSinisterRectus\/discordia lduboeuf\/cjson", + "env_variable": "LIT_PACKAGES", + "default_value": "", + "user_viewable": true, + "user_editable": true, + "rules": "nullable|string" + } + ] +} \ No newline at end of file