{"id":28424030,"url":"https://github.com/mooshieblob1/legendsbot","last_synced_at":"2025-06-24T21:31:15.163Z","repository":{"id":296996222,"uuid":"995246022","full_name":"Mooshieblob1/LegendsBot","owner":"Mooshieblob1","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-03T11:18:15.000Z","size":3054,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-03T20:24:05.442Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mooshieblob1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-03T07:30:37.000Z","updated_at":"2025-06-03T11:18:16.000Z","dependencies_parsed_at":"2025-06-03T20:24:10.255Z","dependency_job_id":"b35e0d44-de70-46a3-bd28-5984f38b8df1","html_url":"https://github.com/Mooshieblob1/LegendsBot","commit_stats":null,"previous_names":["mooshieblob1/legendsbot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Mooshieblob1/LegendsBot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooshieblob1%2FLegendsBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooshieblob1%2FLegendsBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooshieblob1%2FLegendsBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooshieblob1%2FLegendsBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mooshieblob1","download_url":"https://codeload.github.com/Mooshieblob1/LegendsBot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mooshieblob1%2FLegendsBot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261759057,"owners_count":23205487,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-05T09:36:13.695Z","updated_at":"2025-06-24T21:31:14.663Z","avatar_url":"https://github.com/Mooshieblob1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LegendsBot\n\nLegendsBot is an experimental project for SAE students to make a bot that serves the needs of a university student. It's designed to be easy to understand, even for those new to programming. This document provides an overview of the setup, execution process, and project structure.\n\n## Table of Contents\n\n* [Getting Started](#getting-started)\n\n  * [Prerequisites](#prerequisites)\n  * [Installation](#installation)\n* [Running the Project](#running-the-project)\n* [Project Structure](#project-structure)\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n* [Python](https://www.python.org/downloads/) (e.g., v3.8 or newer)\n* [pip](https://pip.pypa.io/en/stable/installation/) (Python package installer, usually comes with Python)\n* [Visual Studio Code](https://code.visualstudio.com/) (Optional, but recommended for an easier experience with Python extensions)\n* [Git](https://git-scm.com/downloads) (VS Code uses your system's Git installation)\n\n### Installation\n\n1. **Clone the repository (if you haven't already):**\n\n   * **Option 1: Using the command line**\n\n     ```bash\n     git clone https://github.com/Mooshieblob1/LegendsBot # Replace with your Python bot's repository URL\n     cd LegendsBot\n     ```\n   * **Option 2: Using Visual Studio Code**\n\n     1. Open VS Code.\n     2. If you see the \"Welcome\" page, click on \"Clone Git Repository...\".\n     3. If you don't see the \"Welcome\" page, open the Command Palette (View \u003e Command Palette or `Ctrl+Shift+P` / `Cmd+Shift+P`).\n     4. Type `Git: Clone` and select it from the list.\n     5. Paste your repository URL into the prompt and press Enter.\n     6. Choose a local directory where you want to save the project.\n     7. Once cloned, VS Code will ask if you want to open the cloned repository. Click \"Open\".\n\n2. **Set up a virtual environment (recommended):**\n\n   ```bash\n   python -m venv venv\n   # On Windows\n   .\\venv\\Scripts\\activate\n   # On macOS/Linux\n   source venv/bin/activate\n   ```\n\n   *Tip: VS Code can often help manage virtual environments.*\n\n3. **Install dependencies:** This will read the `requirements.txt` file and install all the necessary project dependencies into your virtual environment.\n\n   ```bash\n   python -m pip install -r requirements.txt\n   ```\n\n   *Tip: You can open a terminal directly in VS Code (Terminal \u003e New Terminal or \\`Ctrl+\\`\\`).*\\\\\n\n4. **Set up environment variables (if applicable):** If the project uses a `.env.example` file, copy it to `.env` and fill in your specific configuration details (e.g., API keys, database URLs). The content for the `.env` file can be found as a pinned message in the SAE Legends Discord channel #uni-legends-bot.\n\n   ```bash\n   # If .env.example exists\n   cp .env.example .env\n   ```\n\n   Then, open `.env` in a text editor and add your environment-specific values.\n\n## Running the Project\n\nPython is an interpreted language. The Python files are run directly by the Python interpreter. To run the bot (after activating the virtual environment and setting up `.env`):\n\n```bash\npython main.py\n```\n\n---\n\n## Project Structure\n\nThis project follows a typical Python layout. Here’s what each folder and file does — explained simply for beginners:\n\n---\n\n### 📦 `venv/` or `.venv/`\n\nThis is a **virtual environment** — a separate space where all the tools (called *packages*) your bot needs are stored. It helps keep your project organized and avoids conflicts with other Python projects on your system.\n\n\u003e ⚠️ This folder should not be uploaded to GitHub — it’s usually listed in `.gitignore`.\n\n---\n\n### ⚙️ `commands/` or `cogs/`\n\nThis folder contains the **commands your bot can respond to** on Discord.\n\nEach command gets its own file. For example:\n\n* \\`\\` – Defines the `/add` command, which tells the bot to remember something (like a to-do task or reminder).\n* \\`\\` – Handles the `/list` command. It shows everything the bot has saved using `/add`.\n* \\`\\` – Handles the `/remove` command. It lets the bot forget something you've previously added.\n\n---\n\n### 📄 `requirements.txt`\n\nThis file lists what your project needs to work (called **dependencies**). It's a simple text file listing packages and their versions, typically managed with `pip`.\n\n---\n\n### 🔒 Pinned versions in `requirements.txt`\n\nYou can \"pin\" package versions like `discord.py==2.3.2` to ensure everyone working on the project uses the exact same version.\n\n---\n\n### 🐍 Python Files (e.g., `main.py`, `bot.py`, `deploy_commands.py`, `config.py`)\n\nThese are the core files that make the bot run:\n\n* `or` – The *main engine* of the bot. It connects to Discord, loads your commands, and listens for activity.\n* \\`\\` – A helper script that tells Discord which slash commands your bot offers. Run this when you add or update commands.\n* \\`\\` – Stores project settings (like bot token or guild ID), though private stuff should go in `.env`.\n\n---\n\n### 🔐 `.env`\n\nThis file stores **private info** like your bot token or API keys.\nDon’t share it or upload it to GitHub.\n\n\u003e ✅ If there’s a `.env.example`, use it to know what to include in your own `.env` file.\n\n---\n\n### 🚫 `.gitignore`\n\nThis tells Git which files/folders **not to upload** to GitHub — things like:\n\n* `venv/` (your virtual environment)\n* `__pycache__/` (auto-generated Python files)\n* `.env` (your secrets)\n\n---\n\n### 📘 `README.md`\n\nYou’re looking at it!\nThis file explains what the project does and how to set it up.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooshieblob1%2Flegendsbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmooshieblob1%2Flegendsbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooshieblob1%2Flegendsbot/lists"}