Skip to content

Discord bot built with TypeScript and Discord.js, featuring AI-powered content generation, dynamic command handling, and a focus on community engagement. Ideal for enhancing server interactions with a wide range of functionalities.

License

Notifications You must be signed in to change notification settings

ItsPinion/Chirpy-The-Discord-Bot

Repository files navigation

Chirpy The Discord Bot

Discord Bot Project

Version

MIT License Version

Description

Welcome to the my Discord Bot Project named chirpy, a comprehensive Discord bot designed to revolutionize server interactions with its advanced features. Built with TypeScript and the Discord.js library, this bot is one of my passion projects.

Features

  • AI-Powered Content Generation: Leverages Google's Generative AI to create engaging content on-the-fly.
  • Dynamic Command Handling: Dynamically loads commands from the commands directory, supporting subcommands, cooldowns, and more.
  • Event-Driven Programming: Automatically registers event listeners from the events directory, ensuring seamless integration with Discord's API.
  • API Integration: Fetches data from external APIs for a wide range of commands, enhancing user experience.
  • Confession and Story telling: Facilitates anonymous confessions and cooperative storytelling for fostering community engagement.
  • Welcome System: Customizable welcome messages and roles for new members, enhancing the onboarding experience.
  • Modular Design: Easily extendable, allowing for the addition of new commands and events as needed.
  • Database Integration: Utilizes Drizzle ORM for database operations, supporting SQLite migrations and pushes.

Slash Commands

  • /advice: Returns a random advice
  • /talk: Chat with Chirpy directly
  • /chucknorris: Returns a random Chuck Norris Joke
  • /confession: Manage confessions and confession channels
    • channel: Set or update the channel dedicated for confession broadcast
    • create: Submit an anonymous confession
  • /darkjoke: Replies with a random dark joke
  • /dicerole: Rolls a dice with 6 sides
  • /joke: Replies with a random joke
  • /nsfw: Returns a random nsfw image url
  • /numberfects: Replies with a random Number fact
  • /welcome: Manage welcome channel and role
    • channel: Set or update the channel dedicated for welcoming members
    • role: Set or update the role dedicated for new members
  • /story: Create story with the help of everyone
    • channel: Set or update the channel dedicated for storys
    • start: Start a new story.

Environment Variables

Before running the bot, ensure you have the following environment variables set in your .env file:

  • DISCORD_CLIENT_ID: Your Discord application client ID.
  • DISCORD_BOT_TOKEN: Your Discord bot token.
  • GEMINI_API_KEY: Your Gemini API key for the AI command.
  • FIRST_PROMPT: The initial prompt for the AI command.
  • TURSO_CONNECTION_URL: The connection URL for Turso.
  • TURSO_AUTH_TOKEN: The authentication token for Turso.

Scripts

The package.json file includes several scripts for development and deployment:

  • dev: Runs the bot in development mode with hot reloading.
  • build: Compiles TypeScript to JavaScript and runs the deployment script.
  • deploy: Deploys the bot's commands to Discord.
  • start: Starts the bot using the compiled JavaScript files.
  • reboot: Removes the dist directory, effectively rebooting the bot by forcing a rebuild.
  • db:migrate: Generates SQLite migrations using Drizzle Kit.
  • db:push: Pushes SQLite migrations to the database using Drizzle Kit.

Installation

  1. Clone the Repository:
    git clone https://github.com/ItsPinion/Chirpy-The-Discord-Bot.git
    
  2. Install Dependencies:
    npm install
    
  3. Environment Setup: Create a .env file in the root directory with your Discord bot token and other necessary environment variables. View .env.example
    DISCORD_CLIENT_ID =
    DISCORD_BOT_TOKEN =
    
    GEMINI_API_KEY = 
    FIRST_PROMPT =
    
    TURSO_CONNECTION_URL =
    TURSO_AUTH_TOKEN =
  4. Build the Bot:
    npm run build
    
  5. Run the Bot:
    npm start
    

Contributing

We welcome contributions from the community! Please read the contributing guidelines before getting started.

License

This project is licensed under the ISC License. See the LICENSE file for details.


Chirpy The Discord Bot is a project by ItsPinion.

Special Features

  • Customizable Experience: Offers a wide range of customizable features, from welcome messages to storytelling channels.
  • Community Engagement: Designed to foster community engagement through anonymous confessions and collaborative storytelling(comming soon).
  • Advanced AI Integration: Utilizes state-of-the-art AI to generate creative content, enhancing user interactions.
  • Open Source: Encourages open-source contributions, making it a community-driven project.

Support

For support, please open an issue on GitHub or join our Discord server.

Acknowledgments


Community Engagement

  • Discord Server: Join our Discord server to connect with other users and developers.
  • Feature Requests: Have an idea for a new feature? Submit it through our feature request form.
  • Bug Reports: Found a bug? Report it on our issue tracker.

Join Chirpy the Discord Bot community and help us make it the coolest discord bot of all time!

About

Discord bot built with TypeScript and Discord.js, featuring AI-powered content generation, dynamic command handling, and a focus on community engagement. Ideal for enhancing server interactions with a wide range of functionalities.

Topics

Resources

License

Stars

Watchers

Forks