Skip to content

TACT is a feature-rich, open-source Discord bot designed to gamify and enhance server engagement by awarding XP, tracking levels, and enabling users to interact through fun commands. This bot is built with Python, Discord.py, and MongoDB.

License

Notifications You must be signed in to change notification settings

Comon-tech/TACT

Repository files navigation

🤖 Assistant of Common Tech (ACT)

Web Python Discord FastAPI MongoDB

ACT is a Discord bot designed to boost community engagement and interaction by providing a robust economy system and an array of entertaining commands, all tailored to deliver a dynamic and lively server experience.

🏁 Getting started

  1. Clone repository:

     git clone <repository-url>
     cd <repository-folder>
  2. Install UV for dependency management.

  3. Install MongoDB and run database for development:

    uv run task db

    [!TIP]

    💡 To access the database using Mongodb Shell:

    uv run task db-man

    Ensure both the MongoDB server and the shell are using the same port.

    💡 To fix a broken database:

    uv run task db-fix
  4. Run application for development :

    uv run task app

    [!TIP]

    💡 Virtual environments and dependencies are automatically installed when you run any UV command, such as uv run, uv sync, or uv lock. Learn more about UV projects

✈️ Deployment

  1. Create and run a live MongoDB database using a service like MongoDB Atlas and get the connection string.

    💡 The remote MongoDB connection string (URI) usually looks something like this:

    mongodb+srv://username:password@host-address/database-name?retryWrites=true&w=majority
    

    where username, password, host-address, and database-name are placeholders for the values provided by the service and specific to the user.

  2. Push the repository to a Python server using a service like Heroku.

  3. In the remote python server:

    a. Set the environment variable MONGO_DB_URI to the obtained mongoDB connection string:

    MONGO_DB_URI=mongodb+srv://...etc
    

    b. Set all other needed environment variables:

    DISCORD_BOT_TOKEN=PLACE_VALUE_HERE
    GEMINI_AI_API_KEY=PLACE_VALUE_HERE
    MONGO_DB_URI=mongodb://localhost:1717
    APP_SERVER_URL=http://localhost:8000
    

    c. Run application for production:

    uv run task app-prod

    🎉 Now your bot should be live and connected to the remote database!

🚀 Development

🏭 Environment

🌑 Backend

📔 Convention

📄 License

Licensed under GNU GPL.

About

TACT is a feature-rich, open-source Discord bot designed to gamify and enhance server engagement by awarding XP, tracking levels, and enabling users to interact through fun commands. This bot is built with Python, Discord.py, and MongoDB.

Resources

License

Stars

Watchers

Forks

Packages

No packages published