Skip to content

About

Unofficial Modrinth Discord Bot — Components V2 wide UI, 18 slash commands, multilingual (en/ar/fr/hi), mod search, modlists & notifications.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modrinth Bot

Modrinth Discord Bot (unofficial)

Search Modrinth with Discord Components V2 — wide, organized, multilingual.

Node discord.js License Components V2 i18n Icons

Language: English • العربية • Français • हिन्दी


English — Complete Documentation

1. Overview

Unofficial bot for Modrinth + Minecraft utilities. discord.js@14 + Components V2 wide Container (accent 00AF5C, Separator, Section + Thumbnail small on top with title, MediaGallery 2 large images, ActionRow inside). 18 slash commands, 3 services, 7 stores, 4 locales (141 keys, 0 missing), 32 local PNG icons (lucide 64px) + 32 Discord custom emojis.

Stack: Node CommonJS · discord.js@14.25.1 · axios · dotenv · HyLab Icons API (lucide, 00AF5C)

2. Architecture

Discord → src/index.js (router) → command.execute() → services/modrinth.js → Modrinth API + notifierService (30m) + i18n (user>guild>en) + theme (00AF5C) + icons (<:name:id>) + 7 JSON stores.

3. Features — Every Command

Command Type Options Description
/mods mod query*, version, loader Search mods
/modpacks modpack query*, version Search modpacks
/resourcepacks resourcepack query*, version Search resource packs
/shaders shader query*, version Search shaders
/datapacks datapack query*, version Search datapacks
/plugins plugin query*, version, loader Search plugins
/discovery mod intent? (50) Discover by category, 2 results
/random any type? Random resource
/modlist — create/add/list/share/delete Per-user modlists
/notify — me/list/remove Follow projects, DM on update
/status — address* MC server status
/rank — username* MCTiers
/skin — username* Skin display
/user — username* Modrinth user
/seeds — platform?, version? Community seeds
/botstatus — — Bot stats
/help — — Interactive help (select with emojis)
/settings — scope/lang Language
/add — — Invite link

Resource Container: Title Section (title + -# by author · Updated + popularity star/palette + Thumbnail) → Description + Source (link2) → Details (cloud-download/layers/globe) → MediaGallery (2) → ActionRow.

4. Services

  • modrinth.js — axios + versionCache, buildModrinthResource (projectType, author, updated, categories, follows), searchProjects (facets), getUser/Projects/Versions
  • notifierService.js — 30m poll, 500ms throttle, DM Container
  • i18n.js — t(key, userId, guildId, {var}), user>guild>en

5. Stores (7)

serverStore, serverStatusStore (10 recent), playerStore (50 MRU + MCTiers sync), notificationStore, modlistStore, guildSettingsStore, userSettingsStore — all ensureStorage + loadCache + writeStore JSON in src/data/.

6. i18n

141 keys used, 153 per file, 0 missing. 15 error keys added (error_discovery_not_found etc.) with placeholders.

7. Icons — 32 Lucide + 32 Custom

Local assets/icons/lucide/*.png (64px, 00AF5C) + Discord src/utils/icons.js (<:puzzle:1551630355365371904> etc., onyxax). Bot icon assets/bot-icon.png (62250 bytes). Usage: <:name:id> in TextDisplay, emoji: {id, name} in help select. Browse: https://hylab.vercel.app/browse?set=lucide

8. Quick Start

git clone https://github.com/onyxax/modrinth-discord-bot
cd modrinth-discord-bot
npm install
cp .env.example .env # fill DISCORD_TOKEN, DISCORD_CLIENT_ID, MODRINTH_TOKEN
npm start

9. Configuration

.env: DISCORD_TOKEN/Token (required), MODRINTH_TOKEN/modrinth (required), DISCORD_CLIENT_ID, MODRINTH_USER_AGENT, BOT_NAME. Validated in src/config.js:17.

10. Project Structure

src/index.js, config.js, locales/*.json (153), data/.gitkeep, commands/* (18), services/* (3), utils/* (7), assets/icons/lucide/* (32) + bot-icon.png

11. Deployment

npm start registers commands globally (REST.put). Presence rotates 5s. Notifier 30m. Use pm2 / Docker / systemd.

12. Troubleshooting

  • COMPONENT_MAX_TOTAL_COMPONENTS_EXCEEDED → limit 2 per reply (40 max)
  • 10062 Unknown interaction → 2.5s autocomplete timeout
  • DISCORD_TOKEN missing → src/config.js throws

العربية — التوثيق الكامل

1. نظرة عامة

بوت غير رسمي لـ Modrinth وأدوات ماينكرافت. discord.js@14 + Components V2 عريض (Container بلون 00AF5C, Separator, Section + Thumbnail صغيرة فوق مع العنوان + MediaGallery صورتين كبيرتين + ActionRow داخل الحاوية). 18 أمرًا، 3 خدمات، 7 مخازن، 4 لغات (141 مفتاح، 0 نقص)، 32 أيقونة محلية + 32 إيموجي مخصص.

التقنية: Node CommonJS · discord.js@14.25.1 · axios · dotenv · HyLab Icons API (lucide، 00AF5C)

2. الهيكل

Discord → src/index.js → command.execute() → services/modrinth.js → Modrinth API + notifierService (30m) + i18n (user>guild>en) + theme (00AF5C) + icons (<:name:id>) + 7 مخازن JSON.

3. المميزات — كل أمر بالتفصيل

الأمر النوع الخيارات الوصف
/mods mod query*, version, loader بحث المودات
/modpacks modpack query*, version بحث المودباكات
/resourcepacks resourcepack query*, version بحث حزم الموارد
/shaders shader query*, version بحث الشيدرات
/datapacks datapack query*, version بحث الداتاباك
/plugins plugin query*, version, loader بحث البلجنات
/discovery mod intent? (50) اكتشاف حسب الفئة، نتيجتان
/random any type? مورد عشوائي
/modlist — create/add/list/share/delete قوائم مودات لكل مستخدم
/notify — me/list/remove متابعة مشاريع والتنبيه بالخاص
/status — address* حالة سيرفر ماينكرافت
/rank — username* ملف MCTiers
/skin — username* عرض السكن
/user — username* بحث مستخدم Modrinth
/seeds — platform?, version? بذور المجتمع
/botstatus — — حالة البوت
/help — — مساعدة تفاعلية (قائمة اختيار بأيقوناتك)
/settings — scope/lang تغيير اللغة
/add — — رابط الدعوة

هيكل الحاوية: عنوان Section (الاسم + -# by author · Updated + شعبية star/palette + مصغرة) → الوصف → التفاصيل (Downloads/Versions/Platform) → معرض صورتين → أزرار.

4. الخدمات

  • modrinth.js — axios + versionCache, buildModrinthResource (projectType, author, updated, categories, follows), searchProjects, getUser...
  • notifierService.js — فحص كل 30 دقيقة، تأخير 500ms، رسالة Container
  • i18n.js — تحميل src/locales/*.json، t(key, userId, guildId, {var})

5. المخازن (7)

serverStore, serverStatusStore (10 عناوين أخيرة), playerStore (50 MRU), notificationStore, modlistStore, guildSettingsStore, userSettingsStore — كلها ensureStorage + loadCache + writeStore.

6. تعدد اللغات

141 مفتاح مستخدم، 153 في كل ملف، 0 نقص. 15 مفتاح خطأ جديد مترجم.

7. الأيقونات — 32 Lucide + 32 مخصص

محلية assets/icons/lucide/*.png (64px، 00AF5C) + ديسكورد src/utils/icons.js (<:puzzle:1551630355365371904>). أيقونة البوت assets/bot-icon.png. الاستخدام: <:name:id> في TextDisplay. تصفح: https://hylab.vercel.app/browse?set=lucide

8. البدء السريع

git clone https://github.com/onyxax/modrinth-discord-bot
cd modrinth-discord-bot
npm install
cp .env.example .env
npm start

9. الإعداد

.env: DISCORD_TOKEN, MODRINTH_TOKEN, DISCORD_CLIENT_ID, MODRINTH_USER_AGENT, BOT_NAME.

10. هيكل المشروع

src/index.js, config.js, locales/*.json (153), data/.gitkeep, commands/* (18), services/* (3), utils/* (7), assets/icons/lucide/* (32) + bot-icon.png

11. النشر

npm start يسجل الأوامر عالمياً. pm2 / Docker / systemd.

12. استكشاف الأخطاء

  • COMPONENT_MAX_TOTAL_COMPONENTS_EXCEEDED → حد 2 لكل رد
  • 10062 → انتهاء مهلة الإكمال 2.5 ثانية

Français — Documentation complète

1. Aperçu

Bot non officiel Modrinth + utilitaires Minecraft. discord.js@14 + Components V2 large (Container accent 00AF5C, Separator, Section + Thumbnail en haut, MediaGallery 2 images, ActionRow dedans). 18 commandes, 3 services, 7 stores, 4 langues (141 clés, 0 manquant), 32 icônes locales + 32 emojis custom.

Stack: Node CommonJS · discord.js@14.25.1 · axios · HyLab Icons API (lucide, 00AF5C)

2. Architecture

Discord → src/index.js → command.execute() → services/modrinth.js → Modrinth API + notifierService (30m) + i18n (user>guild>en) + theme + icons + 7 stores JSON.

3. Fonctionnalités — Chaque commande

Commande Type Options Description
/mods mod query*, version, loader Recherche mods
/modpacks modpack query*, version Recherche modpacks
/resourcepacks resourcepack query*, version Packs de ressources
/shaders shader query*, version Shaders
/datapacks datapack query*, version Datapacks
/plugins plugin query*, version, loader Plugins
/discovery mod intent? (50) Découverte par catégorie, 2 résultats
/random any type? Ressource aléatoire
/modlist — create/add/list/share/delete Modlists par utilisateur
/notify — me/list/remove Suivre projets, DM
/status — address* Statut serveur MC
/rank — username* Profil MCTiers
/skin — username* Skin
/user — username* Utilisateur Modrinth
/seeds — platform?, version? Seeds communauté
/botstatus — — Stats bot
/help — — Aide interactive (select avec emojis)
/settings — scope/lang Langue
/add — — Lien d'invitation

Conteneur: Title Section (title + -# by author · Updated + popularité star/palette + Thumbnail) → Description → Détails (Downloads/Versions/Platform) → MediaGallery (2) → ActionRow.

4. Services

  • modrinth.js — axios + versionCache, buildModrinthResource (projectType, author, updated, categories, follows), searchProjects
  • notifierService.js — 30m poll, DM Container
  • i18n.js — t(key, userId, guildId, {var})

5. Stores (7)

serverStore, serverStatusStore (10 récents), playerStore (50 MRU), notificationStore, modlistStore, guildSettingsStore, userSettingsStore — tous ensureStorage + loadCache + writeStore.

6. i18n

141 clés utilisées, 153 par fichier, 0 manquant. 15 clés d'erreur ajoutées.

7. Icônes — 32 Lucide + 32 Custom

Locales assets/icons/lucide/*.png (64px, 00AF5C) + Discord src/utils/icons.js (<:puzzle:1551630355365371904>). Icône bot assets/bot-icon.png. Utilisation: <:name:id> dans TextDisplay.

8. Démarrage rapide

git clone https://github.com/onyxax/modrinth-discord-bot
cd modrinth-discord-bot
npm install
cp .env.example .env
npm start

9. Configuration

.env: DISCORD_TOKEN, MODRINTH_TOKEN, DISCORD_CLIENT_ID, MODRINTH_USER_AGENT.

10. Structure

src/index.js, config.js, locales/*.json (153), data/.gitkeep, commands/* (18), services/* (3), utils/* (7), assets/icons/lucide/* (32) + bot-icon.png

11. Déploiement

npm start enregistre les commandes. pm2 / Docker / systemd.


हिन्दी — पूर्ण दस्तावेज़

1. अवलोकन

Modrinth के लिए अनौपचारिक बॉट + Minecraft उपयोगिताएँ। discord.js@14 + Components V2 चौड़ा Container (एक्सेंट 00AF5C, Separator, Section + Thumbnail ऊपर, MediaGallery 2 बड़ी छवियाँ, ActionRow अंदर). 18 कमांड, 3 सेवाएं, 7 स्टोर, 4 भाषाएं (141 कुंजी, 0 कमी), 32 स्थानीय PNG आइकन + 32 कस्टम इमोजी।

स्टैक: Node CommonJS · discord.js@14.25.1 · axios · HyLab Icons API (lucide, 00AF5C)

2. आर्किटेक्चर

Discord → src/index.js → command.execute() → services/modrinth.js → Modrinth API + notifierService (30m) + i18n (user>guild>en) + theme + icons + 7 JSON स्टोर।

3. विशेषताएँ — हर कमांड

कमांड प्रकार विकल्प विवरण
/mods mod query*, version, loader मॉड खोज
/modpacks modpack query*, version मॉडपैक खोज
/resourcepacks resourcepack query*, version रिसोर्स पैक
/shaders shader query*, version शेडर्स
/datapacks datapack query*, version डेटापैक
/plugins plugin query*, version, loader प्लगइन्स
/discovery mod intent? (50) श्रेणी द्वारा खोज, 2 परिणाम
/random any type? यादृच्छिक संसाधन
/modlist — create/add/list/share/delete प्रति-उपयोगकर्ता modlists
/notify — me/list/remove प्रोजेक्ट्स फॉलो, DM
/status — address* MC सर्वर स्थिति
/rank — username* MCTiers
/skin — username* स्किन
/user — username* Modrinth उपयोगकर्ता
/seeds — platform?, version? समुदाय seeds
/botstatus — — बॉट आँकड़े
/help — — इंटरैक्टिव सहायता (इमोजी के साथ select)
/settings — scope/lang भाषा
/add — — आमंत्रण लिंक

कंटेनर: शीर्षक Section (शीर्षक + -# by author · Updated + लोकप्रियता star/palette + थंबनेल) → विवरण → विवरण (Downloads/Versions/Platform) → मीडिया गैलरी (2) → ActionRow।

4. सेवाएं

  • modrinth.js — axios + versionCache, buildModrinthResource, searchProjects
  • notifierService.js — 30m poll, DM Container
  • i18n.js — t(key, userId, guildId, {var})

5. स्टोर (7)

serverStore, serverStatusStore (10 हाल), playerStore (50 MRU), notificationStore, modlistStore, guildSettingsStore, userSettingsStore — सभी ensureStorage + loadCache + writeStore.

6. i18n

141 कुंजी उपयोग, 153 प्रति फ़ाइल, 0 कमी। 15 त्रुटि कुंजी जोड़ी गई।

7. आइकन — 32 Lucide + 32 कस्टम

स्थानीय assets/icons/lucide/*.png (64px, 00AF5C) + Discord src/utils/icons.js (<:puzzle:1551630355365371904>). बॉट आइकन assets/bot-icon.png. उपयोग: <:name:id>।

8. त्वरित शुरुआत

git clone https://github.com/onyxax/modrinth-discord-bot
cd modrinth-discord-bot
npm install
cp .env.example .env
npm start

9. कॉन्फ़िगरेशन

.env: DISCORD_TOKEN, MODRINTH_TOKEN, DISCORD_CLIENT_ID, MODRINTH_USER_AGENT.

10. प्रोजेक्ट संरचना

src/index.js, config.js, locales/*.json (153), data/.gitkeep, commands/* (18), services/* (3), utils/* (7), assets/icons/lucide/* (32) + bot-icon.png

11. परिनियोजन

npm start वैश्विक कमांड पंजीकृत करता है। pm2 / Docker / systemd।


Deployment & Contributing (All Languages)

Same as English — see above. MIT © 2026 onyxax.

Made with HyLab Icons (lucide) — hylab.vercel.app

About

Unofficial Modrinth Discord Bot — Components V2 wide UI, 18 slash commands, multilingual (en/ar/fr/hi), mod search, modlists & notifications.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages