Skip to content

Ree6

All-in-one, open source and 100% free Discord Bot!

egg-ree6.json

updated

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.jar
  • The 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:

  1. 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.

Changes

  1. Import chatbots

    · Daniel Barton · f917e8a

All changes on GitHub

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
#!/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!"