Installation

Prerequisites

  • A web server (VPS, dedicated, etc.) that you can deploy Cosmo on.

    • Python 3.11.

    • Port 80 (HTTP) or 443 (HTTPS) open. The web server must run on the default port.

    • At least 100MB of RAM is recommended.

  • Some Cosmetics to import into the bot. Some are provided, but it is recommended that you make your own.

Creating the Discord Bot

  • Create a new application. Set the username and, optionally, the profile picture.

  • On the left menu, click Bot.

  • Click "Create a Bot" and set its username and, optionally, the profile picture (if the bot has not been created automatically already).

  • Untick "Public Bot" so other people can't just invite your bot onto their server.

  • Enable the "Message Content" & "Server Members" intent. You may have to scroll down to find these.

  • Click Copy Token. Keep this safe, ready to paste into the settings.yml file.

  • Go to OAuth, then URL generator. For scope, select "bot" and "application.commands". For permission, tick either Administrator or all the permissions the bot needs (view channel, send messages, embed links, use external emojis...).

  • Go to the generated link and follow the instructions to add the bot to the server of your choice.

Deploying

  • You will need to run your Python file as a Flask app. There are many tutorials online that show how you can host this. You should NOT use Pterodactyl as you cannot use port 80 or 443, which Cosmo requires.

  • Copy the contents of the folder "bot-and-server" and copy it into your host.

  • Edit the settings.yml file to your choosing, make sure to get your license key from the Support Server and fill in your Discord Bot token.

  • Edit the commands.yml file if you wish to disable commands, change descriptions or set if the response should be hidden.

  • Install the dependencies with the command: python3.11 -3 -m pip install -U -r requirements.txt.

  • Start the bot with: python3.11 main.pyc (The Python version may change depending on your version).

  • Go to Server Settings -> Integrations in your Discord Server and click on your bot.

  • For each slash command, assign role and user overrides that determine who can use the slash command. By default, only users with Administrator permissions can execute admin commands, and all users can use the user commands.

Last updated