Skip to content

DulliAG/DulliBot

Repository files navigation

DulliBot

📆 Planned Changes 2022

🔔 RLRPG-Bot Create own Discord-Bot for ReallifeRPG Mod Updates
♻ Improved Code Structure Improve code structure (minify index.js) for better development and a better structure for our config.json
👽 Roles-by-Reaction Provide an own solution for roles-by-reaction

🚀 Features

🔧 Configuration Specify roles-by-reaction, bot-activity... using an `config.json`
👋 Welcome message Welcome every user by sending an welcome-message and giving them a specific role
👽 Roles-by-Reaction Grant your users access to permissions by reaction on a message
📰 Auto-Publishing Automaticly publish messages in specific categories. (Only works for news-channels)
📊 Server-Stats Don't loose track about the amount of users and bots on your Discord Server
📝 Logging Log your user action in an external MariaDB oder PostgreSQL Database
🔔 ReallifeRPG Mod Update Notifications Keep your users about ReallifeRPG Mod Updates up to date

🔧 Installation

  1. Clone the Repository

    git clone https://github.com/DulliAG/DulliBot.git
  2. Create an .env-file for your credentials

    PRODUCTION=true
    TOKEN=<Discord Bot Token>
    DB_HOST=<Database Host>
    DB_USER=<Database Username>
    DB_PASSWORD=<Database Password>
    DB_DATABASE=<Database>
    
  3. Create an config.json for your bot

    {
      "bot": {
        "activity": "BOT_ACTIVITY"
      },
      "roles": {
        "rlrpg": "DISCORD_ROLE_ID",
        "guest": "DISCORD_ROLE_ID",
        "sponsor": "DISCORD_ROLE_ID",
        "coding": "DISCORD_ROLE_ID",
        "developer": "DISCORD_ROLE_ID",
        "admin": "DISCORD_ROLE_ID",
        "owner": "DISCORD_ROLE_ID",
        "gruender": "DISCORD_ROLE_ID"
      },
      "roles_by_reaction": {
        "enabled": true,
        "reactions": [{ "id": "ROLE_ID", "name": "ROLE_NAME", "emoji": "EMOJI_NAME" }]
      },
      "arma": { "enabled": true, "current_version": "LATEST_REALLIFERPG_MOD_VERSION" },
      "channels": {
        "welcome": "WELCOME_CHANNEL_ID",
        "roles": "812142530413068298",
        "logs": "LOGS_CHANNEL_ID",
        "arma": "REALLIFERPG_CHANNEL_ID",
        "stats": { "member": "MEMBER_STATS_CHANNEL_ID", "bots": "BOTS_STATS_CHANNEL_ID" }
      },
      "auto_publish": { "enabled": true, "categories": ["CATEGORY_ID"] }
    }
  4. Install the required dependencies

    npm i
  5. Start the server

    npm start

🔗 Used Ressources

DiscordJS Supabase Cron @dulliag/logger.js