Ree6
All-in-one, open source and 100% free Discord Bot!
Install
- Installer image
- ghcr.io/ptero-eggs/installers:debian
- Install script
- 63 lines
Image
- Java_17 ghcr.io/pterodactyl/yolks:java_17
Startup
The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.
39 variables
Startup command
java -Dnogui=true -jar Ree6.jarThe token for your Discord bot. Learn how to obtain a token and configure your bot application properly here: https://jmusicbot.com/getting-a-bot-token/
BOT_TOKENUsers can edit
required|stringA value is required.
Your Dagpi.xyz API-Token, for tweet image generation!
DAGPI_TOKENUsers can edit
nullable|string|max:128
Your Sentry DSN, for error reporting!
SENTRY_DSNUsers can edit
nullable|string|max:128
Spotify Application Configuration, used to parse Spotify Tracks/Playlists to YouTube search queries.
SPOTIFY_CLIENT_IDUsers can edit
nullable|string|max:128
Spotify Application Configuration, used to parse Spotify Tracks/Playlists to YouTube search queries.
SPOTIFY_CLIENT_SECRETUsers can edit
nullable|string|max:128
The URL to the Heartbeat-Server
HEARTBEAT_URLUsers can edit
string
The interval between the heartbeats.
HEARTBEAT_INTERVALUsers can edit
integer
Your Amari API-Token, for Amari Level imports!
AMARI_TOKENUsers can edit
nullable|string|max:128
Twitch Application Configuration, used for the StreamTools and Twitch Notifications.
TWITCH_CLIENT_IDUsers can edit
nullable|string|max:128
Twitch Application Configuration, used for the StreamTools and Twitch Notifications.
TWITCH_CLIENT_SECRETUsers can edit
nullable|string|max:128
Twitter Application Configuration, used for the Twitter Notifications.
TWITTER_BEARERUsers can edit
nullable|string|max:128
Reddit Application Configuration, used for the Reddit Notification.
REDDIT_CLIENT_IDUsers can edit
nullable|string|max:128
Reddit Application Configuration, used for the Reddit Notification.
REDDIT_CLIENT_SECRETUsers can edit
nullable|string|max:128
Instagram Application Configuration, used for the Instagram Notification.
INSTAGRAM_USERNAMEUsers can edit
nullable|string|max:128
Instagram Application Configuration, used for the Instagram Notification.
INSTAGRAM_PASSWORDUsers can edit
nullable|string|max:128
Username for the SQL connection.
DATABASE_USERUsers can edit
string|max:32
Database for the SQL Connection
DATABASE_DBUsers can edit
string|max:64
Password for the SQL connection.
DATABASE_PWUsers can edit
nullable|string|max:128
Port for the SQL connection.
DATABASE_PORTUsers can edit
integer
The Typ of the Database Ree6 should use! Possible typs: - mariadb - sqlite - h2 - postgres
DATABASE_TYPUsers can edit
required|string|in:mariadb,sqlite,postgres,postregsql,h2
The location of the storagefile if sqlite is being used.
DATABASE_FILEUsers can edit
required|string|max:32
The Database connection pool size!
DATABASE_POOLUsers can edit
required|integer
The Host address of the Database connection.
DATABASE_HOSTUsers can edit
nullable|string|max:128
Your Authentication token that should be used in the AI API calls.
AI_TOKENUsers can edit
nullable|string|max:128
The URL that should receive the API calls.
AI_URLUsers can edit
nullable|string|max:128
The AI model that should be used in the API calls.
AI_MODELUsers can edit
nullable|string|max:32
The Activity status of the Bot that will be shown.
MISC_STATUSUsers can edit
nullable|string|max:128
The Channel Id of the Feedback channel.
MISC_FEEDBACKUsers can edit
integer
The ID of the Bot Owner, this will be used internally on some checks.
MISC_OWNERUsers can edit
required|integer
The Invite link to invite the Bot.
MISC_INVITEUsers can edit
nullable|string|max:128
The Information for the AI.
MISC_PREDEFUsers can edit
nullable|string|max:128
The Url link for users to receive support.
MISC_SUPPORTUsers can edit
nullable|string|max:128
The Url to the Website of the Bot.
MISC_WEBUsers can edit
nullable|string|max:128
The Url to the Webinterface.
MISC_INTERFACEUsers can edit
nullable|string|max:128
The Url that uses can access to get their recording.
MISC_RECORDUsers can edit
nullable|string|max:128
The Url used to connect a Twitch Account with the Ree6 System.
MISC_TWITCHUsers can edit
nullable|string|max:128
The Advertisement in Embed Footers and the rest.
MISC_ADVUsers can edit
nullable|string|max:128
The Name of the Bot.
MISC_NAMEUsers can edit
required|string|max:20
The amount of shards that should be created.
MISC_SHARDUsers can edit
required|integer
Wings
- Stop command
- ^C (SIGINT)
- Running when the console shows
- Finished Loading
Files Wings edits
Wings sets these values in these files before each start.
config.yml yaml
- hikari.sql.user
- {{server.build.env.DATABASE_USER}}
- hikari.sql.db
- {{server.build.env.DATABASE_DB}}
- hikari.sql.pw
- {{server.build.env.DATABASE_PW}}
- hikari.sql.host
- {{server.build.env.DATABASE_HOST}}
- hikari.sql.port
- {{server.build.env.DATABASE_PORT}}
- hikari.misc.storage
- {{server.build.env.DATABASE_TYP}}
- hikari.misc.storageFile
- {{server.build.env.DATABASE_FILE}}
- hikari.misc.poolSize
- {{server.build.env.DATABASE_POOL}}
- hikari.misc.createEmbeddedServer
- {{server.build.env.DATABASE_EMBEDDED}}
- heartbeat.url
- {{server.build.env.HEARTBEAT_URL}}
- heartbeat.interval
- {{server.build.env.HEARTBEAT_INTERVAL}}
- dagpi.apitoken
- {{server.build.env.DAGPI_TOKEN}}
- amari.apitoken
- {{server.build.env.AMARI_TOKEN}}
- sentry.dsn
- {{server.build.env.SENTRY_DSN}}
- spotify.client.id
- {{server.build.env.SPOTIFY_CLIENT_ID}}
- spotify.client.secret
- {{server.build.env.SPOTIFY_CLIENT_SECRET}}
- twitch.client.id
- {{server.build.env.TWITCH_CLIENT_ID}}
- twitch.client.secret
- {{server.build.env.TWITCH_CLIENT_SECRET}}
- twitter.consumer.key
- {{server.build.env.TWITTER_CONSUMER_ID}}
- twitter.consumer.secret
- {{server.build.env.TWITTER_CONSUMER_SECRET}}
- twitter.access.key
- {{server.build.env.TWITTER_ACCESS_ID}}
- twitter.access.secret
- {{server.build.env.TWITTER_ACCESS_SECRET}}
- reddit.client.id
- {{server.build.env.REDDIT_CLIENT_ID}}
- reddit.client.secret
- {{server.build.env.REDDIT_CLIENT_SECRET}}
- instagram.username
- {{server.build.env.INSTAGRAM_USERNAME}}
- instagram.password
- {{server.build.env.INSTAGRAM_PASSWORD}}
- bot.tokens.release
- {{server.build.env.BOT_TOKEN}}
- openai.apiToken
- {{server.build.env.AI_TOKEN}}
- openai.apiUrl
- {{server.build.env.AI_URL}}
- openai.model
- {{server.build.env.AI_MODEL}}
- bot.misc.status
- {{server.build.env.MISC_STATUS}}
- bot.misc.feedbackChannelId
- {{server.build.env.MISC_FEEDBACK}}
- bot.misc.ownerId
- {{server.build.env.MISC_OWNER}}
- bot.misc.predefineInformation
- {{server.build.env.MISC_PREDEF}}
- bot.misc.invite
- {{server.build.env.MISC_INVITE}}
- bot.misc.support
- {{server.build.env.MISC_SUPPORT}}
- bot.misc.website
- {{server.build.env.MISC_WEB}}
- bot.misc.webinterface
- {{server.build.env.MISC_INTERFACE}}
- bot.misc.recording
- {{server.build.env.MISC_RECORD}}
- bot.misc.twitchAuth
- {{server.build.env.MISC_TWITCH}}
- bot.misc.advertisement
- {{server.build.env.MISC_ADV}}
- bot.misc.name
- {{server.build.env.MISC_NAME}}
- bot.misc.shards
- {{server.build.env.MISC_SHARD}}
Readme
Ree6
Authors / Contributors
Bot Description & Features
From the developer's Github:
Ree6 is an all-in-one Discord Bot maintained by Presti, which started as an alternative of Mee6 to provide a lot of features that are hidden behind a paywall or subscription.
- Contains almost every feature Mee6 has.
- Has a open Source Webinterface.
- Provides advanced Audit-Logging.
- Has built in post notifications (Twitter, Instagram, YouTube, Reddit and Twitch).
- Built-in simple Ticket System.
- And more!
Configuration
- You will need to modify the config.yml to even start the bot.
Server Ports
There are no ports required for Ree6.
Updating
Re-Installing the server via the panel will do the following:
- Update the bot to the latest version.
API keys
This bot uses a lot of api keys. It will print some errors to the console if you don't have some filled in but the bot should still function as normal with the api keys you entered.
Problem with this egg?
Open an issue on GitHub. Include your Panel and Wings versions.
Install script 63 lines bash in ghcr.io/ptero-eggs/installers:debian Show Hide
#!/bin/bash
## this is a simple script to use the github API for release versions.
## this requires the egg has a variable for GITHUB_PACKAGE and VERSION
## this supports using oauth/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)
## if you are getting hit with GitHub API limit issues then you need to have the user and token set.
apt update
apt install -y jq curl
CONFIG_LINK="https://raw.githubusercontent.com/ptero-eggs/application-eggs/main/bots/discord/ree6/config.yml"
LATEST_JSON=$(curl --silent "https://api.github.com/repos/Ree6-Applications/Ree6/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/Ree6-Applications/Ree6/releases")
MATCH=jar-with-dependencies.jar
if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i "${MATCH}" | head -1 )
else
VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i "${MATCH}" | head -1)
else
echo -e "defaulting to latest release"
DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i *.jar)
fi
fi
## Ree6 Setup
[ ! -d /mnt/server ] && mkdir -p /mnt/server
if [ ! -z "${DOWNLOAD_URL}" ]; then
if curl --output /dev/null --silent --head --fail ${DOWNLOAD_URL}; then
echo -e "link is valid. setting download link to ${DOWNLOAD_URL}"
DOWNLOAD_LINK=${DOWNLOAD_URL}
else
echo -e "link is invalid closing out"
exit 2
fi
fi
cd /mnt/server
echo -e "\nInstalling/Updating Ree6...\n"
if [ -f Ree6.jar ]; then
echo -e "Updating Ree6.jar to latest version..."
echo -e '\t(Old version can be found at "Ree6.jar-old")'
mv -f Ree6.jar Ree6.jar-old
fi
echo -e "Running: curl -sSL -o Ree6.jar ${DOWNLOAD_LINK}\n"
curl -sSL -o Ree6.jar ${DOWNLOAD_LINK}
if [ -f config.yml ]; then
echo -e "Updating config.yml to latest version..."
echo -e '\t(Old version can be found at "config.yml-old")'
mv -f config.yml config.yml-old
fi
echo -e "Running: curl -sSL -o config.yml ${CONFIG_LINK}\n"
curl -sSL -o config.yml ${CONFIG_LINK}
echo -e "\nRee6 Successfully Installed!"