{"id":31064932,"url":"https://github.com/amuzha/discord-translator-bot","last_synced_at":"2026-05-17T17:08:20.498Z","repository":{"id":313062073,"uuid":"1049880342","full_name":"amuzha/discord-translator-bot","owner":"amuzha","description":"Bot Discord serbaguna untuk membantu server-mu berkomunikasi lintas bahasa! Dengan bot ini, kamu bisa mengirim pengumuman ke banyak channel sekaligus, menerjemahkan pesan ke berbagai bahasa, dan mengelola bahasa serta channel dengan mudah.","archived":false,"fork":false,"pushed_at":"2025-09-03T17:11:45.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-03T18:31:46.867Z","etag":null,"topics":["bot","bot-discord-node-js","discord-bot","discord-js"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amuzha.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-09-03T16:19:16.000Z","updated_at":"2025-09-03T17:11:48.000Z","dependencies_parsed_at":"2025-09-03T18:31:49.341Z","dependency_job_id":"35fc3937-d014-40c2-b461-97e831ef71a5","html_url":"https://github.com/amuzha/discord-translator-bot","commit_stats":null,"previous_names":["amuzha/discord-translator-bot"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/amuzha/discord-translator-bot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuzha%2Fdiscord-translator-bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuzha%2Fdiscord-translator-bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuzha%2Fdiscord-translator-bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuzha%2Fdiscord-translator-bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amuzha","download_url":"https://codeload.github.com/amuzha/discord-translator-bot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amuzha%2Fdiscord-translator-bot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275274502,"owners_count":25435796,"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","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["bot","bot-discord-node-js","discord-bot","discord-js"],"created_at":"2025-09-15T15:06:13.085Z","updated_at":"2026-05-17T17:08:15.464Z","avatar_url":"https://github.com/amuzha.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📢 Discord Translator \u0026 Announcement Bot Premium 📢\n\nBot Discord canggih untuk **translate otomatis**, **announcement multi-bahasa**, dan **moderasi server**.  \nMendukung **slash commands** dan **prefix commands**, serta sistem fallback multi-translator.\n\n---\n\n## 🚀 Fitur Utama\n\n### 📢 Announcement System\n- Kirim pengumuman ke seluruh channel bahasa dengan auto-translate.\n- Pilihan mention: `@everyone`, `@here`, role tertentu, atau tanpa mention.\n- Input teks pengumuman via modal.\n- Timeout otomatis (dibatalkan jika user tidak memilih dalam 10–20 detik).\n- Proteksi: hanya user yang membuka menu yang bisa memilih.\n\n### 🌐 Multi-Translator Fallback System\n- **Gemini API** (rotasi hingga 3 API key).\n- **Google Translate** via `@vitalets/google-translate-api`.\n- **MyMemory API** sebagai fallback terakhir.\n- Logging error Gemini hanya muncul sekali per key saat quota exceeded.\n\n### 🛠️ Channel Management\n- `/setchannel` / `m!setchannel` → Tambahkan channel untuk bahasa tertentu.\n- `/removechannel` / `m!removechannel` → Hapus channel dari bahasa tertentu.\n- Kedua command menggunakan UI select menu dengan timeout \u0026 proteksi user.\n\n### 📋 Utility Commands\n- `m!listchannels` → Menampilkan daftar mapping channel per bahasa.\n- `m!setlang` → Menyetel bahasa guild.\n- `m!translate` → Translate manual teks ke bahasa tertentu.\n- Command dasar: `m!ping`, `m!help`, dll.\n\n### 🛡️ Moderation Commands\n- `/kick @user [reason]` / `m!kick @user [reason]` → Kick member dari server.\n- `/ban @user [reason]` / `m!ban @user [reason]` → Ban member dari server.\n- `/warn @user [reason]` / `m!warn @user [reason]` → Beri peringatan ke member.\n- `/giverole @user \u003crole\u003e` / `m!giverole` → Beri role ke member.\n- `/removerole @user \u003crole\u003e` / `m!removerole` → Hapus role dari member.\n\n### 🔐 Owner \u0026 Permission System\n- Hanya admin/owner yang bisa menjalankan command sensitif (`announce`, `setchannel`, `removechannel`, moderasi, dll).\n- Kelola owner dengan `m!addowner` dan `m!removeowner`.\n\n### 🔄 Auto-Reload Commands\n- File di `/commands` langsung reload tanpa restart bot.\n- **Tidak auto-deploy slash ke API** (manual deploy tersedia).\n\n### 🚀 Manual Deploy System\n- `npm run deploy` → pilih:\n  - **Guild Deploy** (instan muncul).\n  - **Global Deploy** (±1 jam sinkronisasi).\n\n---\n\n## 📦 Persyaratan\n\n- **Node.js** v16+\n- **Discord.js** v14\n- API Key untuk **Gemini AI** (opsional, tapi direkomendasikan)\n\n---\n\n## 🔧 Instalasi\n\n1. **Clone repository**\n   ```bash\n   git clone https://github.com/amuzha/discord-translator-bot.git\n   cd discord-translator-bot\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   npm install\n   ```\n\n3. **Buat file `.env`**\n   Salin `.env.example` menjadi `.env` lalu isi token:\n\n   ```bash\n   cp .env.example .env   # Linux/macOS\n   copy .env.example .env # Windows\n   ```\n\n4. **Jalankan bot**\n\n   ```bash\n   npm start\n   ```\n\n   deploy / register slash command\n\n   ```bash\n   npm deploy\n   ```\n\n---\n\n## 🛠️ Command List\n\n### 📢 Announcement\n\n| Command                    | Deskripsi                                   |\n| -------------------------- | ------------------------------------------- |\n| `/announce` / `m!announce` | Kirim pengumuman ke semua channel terdaftar |\n| `m!announce-test`          | Uji pengumuman tanpa kirim ke channel       |\n| `/sendto` / `m!sendto`     | Kirim pengumuman ke channel tertentu        |\n\n### 🌍 Language \u0026 Channel\n\n| Command                  | Deskripsi                               |\n| ------------------------ | --------------------------------------- |\n| `/setlang` / `m!setlang` | Set bahasa utama guild                  |\n| `/setchannel`            | Tambahkan channel untuk bahasa tertentu |\n| `/removechannel`         | Hapus channel dari bahasa tertentu      |\n| `m!listchannels`         | Lihat daftar bahasa \u0026 channel           |\n\n### 🔧 Tools\n\n| Command                     | Deskripsi                           |\n| --------------------------- | ----------------------------------- |\n| `m!translate \u003clang\u003e \u003cteks\u003e` | Translate manual ke bahasa tertentu |\n| `m!ping`                    | Tes koneksi bot                     |\n| `m!help`                    | Lihat semua command                 |\n\n### 🛡️ Moderation\n\n| Command                                     | Deskripsi                 |\n| ------------------------------------------- | ------------------------- |\n| `/kick @user [reason]` / `m!kick`           | Kick member dari server   |\n| `/ban @user [reason]` / `m!ban`             | Ban member dari server    |\n| `/warn @user [reason]` / `m!warn`           | Beri peringatan ke member |\n| `/giverole @user \u003crole\u003e` / `m!giverole`     | Tambahkan role ke member  |\n| `/removerole @user \u003crole\u003e` / `m!removerole` | Hapus role dari member    |\n\n### 🔑 Owner\n\n| Command              | Deskripsi        |\n| -------------------- | ---------------- |\n| `m!addowner \u003cid\u003e`    | Tambah owner bot |\n| `m!removeowner \u003cid\u003e` | Hapus owner bot  |\n| `m!creator`          | Info pembuat bot |\n\n---\n\n## 🗂️ Struktur Proyek\n\n```\ndiscord-translator-bot/\n├── commands/        # Semua command (prefix \u0026 slash)\n├── utils/           # Helper, database, logger, translate API\n├── test/            # Command \u0026 utils untuk testing\n├── index.js         # Main bot starter\n├── deploy.js        # Manual deploy guild/global\n├── .env             # Token \u0026 konfigurasi\n└── package.json\n```\n\n---\n\n## 🌐 API Gemini\n\nGunakan **Google Gemini API** untuk translate otomatis.\nDokumentasi resmi: [Google AI Gemini](https://ai.google.dev/)\n\n---\n\n## ✅ Lisensi\n\nProyek ini menggunakan lisensi **MIT**.\n\n---\n\n## 📜 Changelog\n\nLihat [CHANGELOG.md](./CHANGELOG.md) untuk daftar perubahan versi.\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famuzha%2Fdiscord-translator-bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famuzha%2Fdiscord-translator-bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famuzha%2Fdiscord-translator-bot/lists"}