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.
- 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.
- /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.
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.
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 thedist
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.
- Clone the Repository:
git clone https://github.com/ItsPinion/Chirpy-The-Discord-Bot.git
- Install Dependencies:
npm install
- Environment Setup: Create a
.env
file in the root directory with your Discord bot token and other necessary environment variables. View .env.exampleDISCORD_CLIENT_ID = DISCORD_BOT_TOKEN = GEMINI_API_KEY = FIRST_PROMPT = TURSO_CONNECTION_URL = TURSO_AUTH_TOKEN =
- Build the Bot:
npm run build
- Run the Bot:
npm start
We welcome contributions from the community! Please read the contributing guidelines before getting started.
This project is licensed under the ISC License. See the LICENSE file for details.
Chirpy The Discord Bot is a project by ItsPinion.
- 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.
For support, please open an issue on GitHub or join our Discord server.
- Discord.js: A powerful library for interacting with the Discord API.
- Google's Generative AI: Provides the AI-powered content generation capabilities.
- Node.js: The runtime environment that powers the bot.
- Drizzle ORM: Simplifies database operations and migrations.
- Advice Slip JSON API: A free JSON API for over 10 million pieces of advice.
- Chuck Norris Joks Api: A free JSON API for hand curated Chuck Norris facts.
- JokeAPI: A free JSON API for uniformly and well formatted jokes.
- Numbers API: A free JSON API for
- 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!