{"id":46573381,"url":"https://github.com/copycord/copycord","last_synced_at":"2026-03-07T09:04:45.522Z","repository":{"id":306845515,"uuid":"1023880052","full_name":"Copycord/Copycord","owner":"Copycord","description":"Clone one or more Discord servers in real time with a powerful toolkit—message \u0026 DM exporting, member list scraping, real-time message forwarding to external services, and more—managed through slash commands and a clean web UI.","archived":false,"fork":false,"pushed_at":"2026-03-03T18:47:00.000Z","size":44946,"stargazers_count":327,"open_issues_count":1,"forks_count":26,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-03T20:46:22.793Z","etag":null,"topics":["discord","discord-channel-cloner","discord-cloner-bot","discord-dm-cloner","discord-exporter","discord-message-sender","discord-self-bot","discord-server-cloner","discord-server-cloning","discord-server-copier","discord-server-mirror","discord-server-scraper","discord-tool","pushover","telegram"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Copycord.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-21T20:58:57.000Z","updated_at":"2026-03-03T18:45:09.000Z","dependencies_parsed_at":"2025-09-17T17:18:14.150Z","dependency_job_id":"ac8b60d8-9032-43d6-97f0-c04ce628a71f","html_url":"https://github.com/Copycord/Copycord","commit_stats":null,"previous_names":["copycord/copycord"],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/Copycord/Copycord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copycord%2FCopycord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copycord%2FCopycord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copycord%2FCopycord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copycord%2FCopycord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Copycord","download_url":"https://codeload.github.com/Copycord/Copycord/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Copycord%2FCopycord/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30210392,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T09:02:10.694Z","status":"ssl_error","status_checked_at":"2026-03-07T09:02:08.429Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["discord","discord-channel-cloner","discord-cloner-bot","discord-dm-cloner","discord-exporter","discord-message-sender","discord-self-bot","discord-server-cloner","discord-server-cloning","discord-server-copier","discord-server-mirror","discord-server-scraper","discord-tool","pushover","telegram"],"created_at":"2026-03-07T09:04:44.751Z","updated_at":"2026-03-07T09:04:45.506Z","avatar_url":"https://github.com/Copycord.png","language":"Python","funding_links":["https://ko-fi.com/A0A41KPDX4"],"categories":[],"sub_categories":[],"readme":"[![Release](https://img.shields.io/github/v/release/Copycord/Copycord?label=Release\u0026color=2E7D32\u0026labelColor=2E7D32\u0026logo=github\u0026logoColor=FFFFFF)](https://github.com/Copycord/Copycord/releases/latest)\n[![Discord](https://img.shields.io/discord/1406152440377638952?label=Discord\u0026logo=discord\u0026color=C62828\u0026labelColor=C62828\u0026logoColor=FFFFFF)](https://discord.gg/ArFdqrJHBj)\n\n\n\n_⭐️ Love Copycord? Give us a star and join the conversation in our Discord community!_\n\n# \u003cimg width=\"24px\" src=\"logo/logo.png\" alt=\"Copycord\"\u003e\u003c/img\u003e Copycord\n\nCopycord is the ultimate Discord server mirroring tool. Effortlessly clone multiple servers at once including channels, roles, emojis, and history while keeping everything in perfect sync with real-time message forwarding and structure updates. With powerful filters, custom branding options, DM and export tools, and a sleek web dashboard, Copycord gives you complete control to replicate, manage, and customize servers your way.\n\n\u003e [!TIP]\n\u003e **✨ Copycord Features**\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eMulti-Server Cloning\u003c/b\u003e\u003c/summary\u003e\n\u003e Instantly mirror categories, channels, and message history from target servers—with the option to include roles, emojis, and stickers, and much more, all fully controlled through the web UI.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eForward Messages to External Service 🆕\u003c/b\u003e\u003c/summary\u003e\n\u003e Create custom rules with flexible filters, then forward matching messages instantly in real time to Telegram, Pushover, and more—so you never miss an important message or notification again.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eLive Message Forwarding\u003c/b\u003e\u003c/summary\u003e\n\u003e Every new message is forwarded in real time to your clone via webhooks, keeping both servers perfectly in sync including edits and deletes.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eDynamic Structure Sync\u003c/b\u003e\u003c/summary\u003e\n\u003e Copycord constantly watches for changes in the source server (new channels, renames, role updates) and applies them to your clone automatically.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eAdvanced Channel Filtering\u003c/b\u003e\u003c/summary\u003e\n\u003e Choose exactly which channels to include or exclude for maximum control over your clone’s layout.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eCustom Branding\u003c/b\u003e\u003c/summary\u003e\n\u003e Rename channels, customize webhook names/icons, and make the clone feel like your own personalized server.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eSmart Message Filtering\u003c/b\u003e\u003c/summary\u003e\n\u003e Automatically block or drop unwanted messages based on custom keyword rules.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eMember List Scraper\u003c/b\u003e\u003c/summary\u003e\n\u003e Use the member scraper to grab User IDs, Usernames, Avatars, and Bios from any server.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eDeep History Import\u003c/b\u003e\u003c/summary\u003e\n\u003e Clone an entire channel’s message history, not just the new ones.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eUniversal Message Export\u003c/b\u003e\u003c/summary\u003e\n\u003e Export all messages from any server into a JSON file with optional filtering, Webhook forwarding, and attachment downloading.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eDM History Export\u003c/b\u003e\u003c/summary\u003e\n\u003e Export all DM messages from any user's inbox into a JSON file with optional Webhook forwarding.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eReal-Time DM Alerts\u003c/b\u003e\u003c/summary\u003e\n\u003e Get instant DM notifications for key messages from any server — and subscribe your clone server members to get notifications too.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eYour Own Bot, Your Rules\u003c/b\u003e\u003c/summary\u003e\n\u003e Run a fully independent Discord bot that you control—no restrictions.\n\u003e \u003c/details\u003e\n\u003e\n\u003e \u003cdetails\u003e\n\u003e \u003csummary\u003e\u003cb\u003eSleek Web Dashboard\u003c/b\u003e\u003c/summary\u003e\n\u003e Manage everything through a modern, easy-to-use web app.\n\u003e \u003c/details\u003e\n\n## Getting Started\n\u003e [!TIP]\n\u003e You can set up Copycord using Docker or the manual launcher\n\n### Prerequisites\n\n- [Docker](https://github.com/Copycord/Copycord/blob/main/docs/Instructions.md) or manual installer (See below)\n- Discord Account Token + Discord Bot Token\n\n### Setup\n\n1. **Prepare the clone server**  \n   Create a new Discord server to receive mirrored content and house your bot.\n\n2. **Obtain your user token**\n\n   - Log into Discord in a browser with your account.\n   - Open Developer Tools (F12 or Ctrl+Shift+I)\n   - Enable device emulation mode (Ctrl+Shift+M), then paste the code below into the console and press Enter:\n     ```js\n     const iframe = document.createElement('iframe')\n     console.log(\n       'Token: %c%s',\n       'font-size:16px;',\n       JSON.parse(\n         document.body.appendChild(iframe).contentWindow.localStorage.token\n       )\n     )\n     iframe.remove()\n     ```\n   - Copy and store this token securely.\n\n3. **Create and configure the bot**\n   - In the [Discord Developer Portal](https://discord.com/developers/applications), create a new bot.\n   - Under **Installation**, set the Install Link to `None` and click save.\n   - Under **Bot**, click reset token and store your bot token somewhere secure, disable `Public Bot`, and enable these intents:\n     - `Presence`\n     - `Server Members`\n     - `Message Content`\n   - Under **OAuth2**, generate an invite url with (Scopes: `bot`, Bot Permissions: `Administrator`) and invite the bot to your clone server.\n\n## Docker Install\n\n### 1. Create a copycord folder and add docker-compose.yml\n\n```\ncopycord/\n├── docker-compose.yml # docker compose file\n└── data/ # data folder will be created automatically\n```\n\n`docker-compose.yml`\n\n```yaml\nservices:\n  admin:\n    image: ghcr.io/copycord/copycord:v3.13.1\n    container_name: copycord-admin\n    environment:\n      - ROLE=admin\n      - PASSWORD=copycord # change or comment out to disable login\n    ports:\n      - '8080:8080' # change this port if needed (ex: \"9060:8080\")\n    volumes:\n      - ./data:/data\n    restart: unless-stopped\n\n  server:\n    image: ghcr.io/copycord/copycord:v3.13.1\n    container_name: copycord-server\n    environment:\n      - ROLE=server\n    volumes:\n      - ./data:/data\n    depends_on:\n      - admin\n    restart: unless-stopped\n\n  client:\n    image: ghcr.io/copycord/copycord:v3.13.1\n    container_name: copycord-client\n    environment:\n      - ROLE=client\n    volumes:\n      - ./data:/data\n    depends_on:\n      - admin\n    restart: unless-stopped\n```\n\n### 2. Launch Copycord\n\nMake sure you have Docker \u0026 Docker Compose installed, then open a command prompt in the same directory and run:\n\n```bash\ndocker-compose up -d\n```\n\nThis will pull the latest images and start the web ui: http://localhost:8080\n\n## Manual Install (NEW) ✨\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eManual Install (Windows \u0026 Linux)\u003c/strong\u003e\u003c/summary\u003e\n\n### Windows\n\n**Requirements**:\n\n- Python 3.11\n- Node.js + npm\n\n1. Download the Windows installer bundle:  \n   [`copycord.zip`](https://github.com/Copycord/Copycord/raw/refs/heads/main/install-tools/windows/copycord.zip)\n2. Right-click the zip and choose **Extract All…** (for example, extract it to your **Desktop**).\n3. Open the extracted `copycord` folder.\n4. Double-click **`Copycord.exe`** and select the install option.  \n   - This will download the latest Copycord build and set up everything in the same folder.\n5. To start Copycord, double-click **`Copycord.exe`** and select the run option.  \n   - This will start Copycord and the web UI: \u003chttp://localhost:8080\u003e\n   -  You can customize the Web UI settings and password in /code/.env\n6. When a new Copycord version is released, double-click **`Copycord.exe`** and select the update option.\n\n---\n\n### Linux\n\n**Requirements**\n\n- Python 3.11\n- Node.js + npm  \n  (Ubuntu/Debian example):\n  - `curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -`\n  - `sudo apt install -y nodejs`\n- `python3-venv` + `python3.11-venv`  \n  - `sudo apt install -y python3-venv python3.11-venv`\n\n---\n\n### Install Copycord (Linux)\n\n1. Create a Copycord folder and download the launcher:\n\n   ```bash\n   mkdir -p ~/copycord\n   cd ~/copycord\n   curl -L \"https://raw.githubusercontent.com/Copycord/Copycord/refs/heads/main/install-tools/source/launcher.py\" -o launcher.py\n   ```\n\n2. Run the launcher and install:\n\n   ```bash\n   cd ~/copycord\n   python3 launcher.py\n   ```\n\n   - When the menu appears, choose: `1) Install Copycord`\n   - This will:\n     - Download the latest Copycord version\n     - Build the admin frontend\n     - Create `code/`, `venvs/`, and `data/`\n     - Generate `copycord_linux.sh` (Linux start script)\n\n---\n\n### Run Copycord (Linux)\n\nYou can start Copycord in either of these ways (from `~/copycord`):\n\n- Using the launcher menu:\n\n  ```bash\n  cd ~/copycord\n  python3 launcher.py\n  ```\n\n  - Choose: `4) Run Copycord (Linux)`\n\n- Or run the start script directly:\n\n  ```bash\n  cd ~/copycord\n  ./copycord_linux.sh\n  ```\n\n  (If needed: `chmod +x copycord_linux.sh` once.)\n\nOnce started, open the web UI in your browser:\n\n- \u003chttp://localhost:8080\u003e\n\n---\n\n### Update Copycord (Linux)\n\n1. From the same folder (`~/copycord`), run:\n\n   ```bash\n   python3 launcher.py\n   ```\n\n2. Choose: `2) Update Copycord`  \n   - This will update your Copycord install to the latest version.\n\n---\n\n### Environment Configuration\n\n- Set the admin password, change ports, etc., in the `.env` file located in the `code/` directory after installation.\n\n\u003c/details\u003e\n\n\n### Web UI Configuration\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCopycord Configuration Options (click to expand)\u003c/strong\u003e\u003c/summary\u003e\n\n\u003cbr\u003e\n\n| Option                         | Default | Description                                                                                    |\n| ------------------------------ | ------- | ---------------------------------------------------------------------------------------------- |\n| `ENABLE_CLONING`               | true    | Master switch for cloning                                                                      |\n| `CLONE_MESSAGES`               | true    | Clone messages in real-time                                                                    |\n| `DELETE_CHANNELS`              | true    | Delete channels/categories removed in the host                                                 |\n| `DELETE_THREADS`               | true    | Delete threads removed in the host                                                             |\n| `DELETE_ROLES`                 | true    | Delete roles that no longer exist in the host                                                  |\n| `UPDATE_ROLES`                 | true    | Allow updating role properties after creation                                                  |\n| `DELETE_MESSAGES`              | true    | Delete cloned messages when the host message is deleted                                        |\n| `TAG_REPLY_MSG`                | false   | Adds a tag of the message that is being replied to                                             |\n| `MIRROR_CHANNEL_PERMISSIONS`   | false   | Mirror channel permissions from the host                                                       |\n| `CLONE_ROLES`                  | true    | Clone roles                                                                                    |\n| `CLONE_EMOJI`                  | true    | Clone emojis                                                                                   |\n| `CLONE_STICKER`                | true    | Clone stickers                                                                                 |\n| `EDIT_MESSAGES`                | true    | Edit cloned messages when host messages are edited                                             |\n| `MIRROR_ROLE_PERMISSIONS`      | false   | Mirror role permissions                                                                        |\n| `REPOSITION_CHANNELS`          | true    | Sync channel order                                                                             |\n| `RENAME_CHANNELS`              | true    | Sync channel renames                                                                           |\n| `SYNC_CHANNEL_NSFW`            | false   | Sync NSFW flags                                                                                |\n| `SYNC_CHANNEL_TOPIC`           | false   | Sync channel topics                                                                            |\n| `SYNC_CHANNEL_SLOWMODE`        | false   | Sync slowmode settings                                                                         |\n| `REARRANGE_ROLES`              | false   | Sync role order                                                                                |\n| `CLONE_VOICE`                  | true    | Clone voice channels                                                                           |\n| `CLONE_VOICE_PROPERTIES`       | false   | Sync voice channel bitrate \u0026 user limit                                                        |\n| `CLONE_STAGE`                  | true    | Clone stage channels                                                                           |\n| `CLONE_STAGE_PROPERTIES`       | false   | Sync stage channel properties                                                                  |\n| `CLONE_GUILD_ICON`             | false   | Sync guild icon                                                                                |\n| `CLONE_GUILD_BANNER`           | false   | Sync guild banner                                                                              |\n| `CLONE_GUILD_SPLASH`           | false   | Sync guild splash                                                                              |\n| `CLONE_GUILD_DISCOVERY_SPLASH` | false   | Sync guild discovery splash                                                                    |\n| `SYNC_GUILD_DESCRIPTION`       | false   | Sync guild description                                                                         |\n| `SYNC_FORUM_PROPERTIES`        | false   | Sync forum properties (layout, tags, guidelines, etc.)                                         |\n| `ANONYMIZE_USERS`              | false   | Anonymize user identities with random names (e.g., SwiftFox123) and random avatar images       |\n| `DISABLE_EVERYONE_MENTIONS`    | false   | Disable @everyone and @here mentions in mirrored messages                                      |\n| `DISABLE_ROLE_MENTIONS`        | false   | Disable role mentions in mirrored messages, removes the pings                                  |\n\n\u003c/details\u003e\n\n### Slash commands\n\n- [Slash Commands Wiki](docs/slash_commands.md)\n\n##\n\n\u003e [!WARNING]\n\u003e Copycord uses self-bot functionality, which is against Discord’s Terms of Service and could lead to account suspension or termination. While uncommon, we strongly recommend using an alternate account to minimize risk.\n\n## Contributing \u0026 Support\n\nFeel free to [open an issue](https://github.com/Copycord/Copycord/issues) if you hit any road bumps or want to request new features.\n\nWe appreciate all contributions:\n\n1. Fork the repository.\n2. Create a new branch from `main` with a descriptive name.\n3. Commit your changes and open a [Pull Request](https://github.com/Copycord/Copycord/pulls), detailing your feature or fix.\n4. See the [Contributing Guide](https://github.com/Copycord/Copycord/tree/main/docs/contribute/CONTRIBUTING.md) for build \u0026 testing instructions.\n\nThank you for helping improve Copycord!\n\n# Buy me a coffee\n\nIf you are enjoying Copycord, consider buying me a coffee!\n\n[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/A0A41KPDX4)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcopycord%2Fcopycord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcopycord%2Fcopycord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcopycord%2Fcopycord/lists"}