Testify Banner

Advanced all-in-one discord bot with prefix & slash commands

With over 100 slash commands and over 50 prefix commands, Testify is an open source discord bot that's easy to set up and use and full of fun features for your servers!

Overview

Testify is a versatile Discord bot designed to enhance your server with a wide range of features. From moderation tools to fun mini-games, music playback to advanced API integrations, Testify has everything you need to create an engaging community experience.

Loading stats...

Contributors

Loading contributors...

⚠️ IMPORTANT SECURITY WARNING

Never share or commit your .env file or any of its values! These contain sensitive information including your bot token, MongoDB credentials, and API keys that could be used to compromise your systems or incur unwanted charges if leaked. Always add .env to your .gitignore file.

Features

Moderation Tools

  • Complete Moderation Suite: Ban, kick, timeout, warn, and mute functionality
  • Auto-moderation: Filter profanity, spam, and inappropriate content
  • Audit Logging: Comprehensive logging of all moderation actions
  • Ticket System: Create and manage support tickets with transcripts

Entertainment & Fun

  • Music System: Play music from YouTube, Spotify, and SoundCloud with queue management
  • Leveling System: XP and ranking system with customizable rewards
  • Mini-games: Variety of games including RPS, coinflip, 8ball, and more
  • Meme Commands: Random memes, jokes, and fun interactions

Information & Utility

  • User Info: Detailed user information with profile cards
  • Server Info: Server statistics and information
  • Role Info: Detailed role information including permissions
  • Profile System: Create and customize user profiles

API Integrations

  • Valorant Integration: View skins, store, and player info
  • Instagram Notifications: Get notified of new posts from Instagram accounts
  • Spotify Integration: Advanced Spotify tracking and integration
  • Weather Information: Get weather forecasts for any location

Customization

  • Custom Prefix: Set a custom prefix for your server
  • Custom Embeds: Create and customize rich embeds
  • Announcement System: Create professional announcements
  • Thread Management: Create and manage threads

Compatibility

System Requirements

Operating System Support Status Notes
Windows 11 ✅ Full Support Recommended for development
Windows 10 ✅ Full Support Recommended for development
macOS ✅ Full Support Tested on macOS Ventura+
Linux (Ubuntu) ✅ Full Support Tested on Ubuntu 20.04 LTS+

Node.js Support

Node.js Version Support Status Notes
v18.13.0+ ✅ Supported Minimum required version
v20.x ✅ Supported Recommended for best performance
v21.x ✅ Supported Latest features

Installation

To set up Testify for your Discord server, follow these steps:

Prerequisites

Project Setup

  1. Fork the Github project:
    • Sign up / Sign in to GitHub
    • Navigate to Testify
    • Click Star to support development
    • Click Fork to copy all code to your own repository
  2. Click the Code button. From the drop-down that appears, click Download ZIP to download the entire repository as a ZIP folder.
  3. Extract the files to a new folder and open it with Visual Studio Code.

Usage

Getting Started

  1. Rename the filed named example.env to .env
  2. Navigate to the Bot page on the Discord Developer Portal and click Reset Token. Copy your token
  3. Paste your bot token into the token variable inside the .env file
  4. Install dependencies with npm run setup
  5. Run the bot with npm run prod

Commands

💡 Getting Help

For a complete list of available commands and their usage, use /help or t?help in your Discord server.

Slash Commands

Testify offers over 100 slash commands across various categories:

Category Name Description
AiCommands AI-based commands for chat responses, image generation and analysis
AuditLogging Configuration for server audit logging
Automod Automated moderation tools to filter content
Community General utility commands for the community
Devs Developer-specific tools and utilities
Economy Currency and economic system commands
Fun Entertainment and amusement commands
Giveaway Tools for running server giveaways
Help Documentation and assistance commands
InfoCommands Information retrieval tools
InstaNotification Instagram post tracking system
LevelAndEconomy Experience and economy management
LevelSystem User level progression system
MiniGames Various interactive games
Other Miscellaneous commands
Owner Bot owner administration commands
PrefixSettings Configuration for custom prefixes
Profile User profile management system
Spotify Spotify integration and tracking
Valorant Valorant game information and tracking

Prefix Commands

Testify also supports over 50 prefix commands with the default prefix t?

Category Name Description
Dev Developer-specific tools and debug commands
EconomyCommands Currency system management commands
FunCommands Entertainment and amusing interactions
InfoCommands Information retrieval commands
LevelCommands User progression and level management
ModerationCommands Server moderation and administration tools
Music Audio playback and music commands
OwnerCommands Bot owner-only administrative commands
TestCommands Testing and experimental features
UtilityCommands General utility and helper commands

Audit Logs Setup

To set the advanced logs registry for the Testify audit-logs (the event handler registers), follow these steps:

  1. Navigate to node_modulesdiscord-logslibindex.js
  2. Once in the index.js file for the discord logs package, replace the content with the code provided in the GitHub repository's README.md file

Alternative Approach

Alternatively, you can run the command npm run log-setup to automatically set up the colored logs in the discord-logs module.

Audit logs screenshot

Technical Features

Console Logger

  • Discord Webhook Integration for remote monitoring
  • Intelligent handling of API rate limits
  • Efficient message batching
  • Robust error handling with proper logging

Database Integration

  • Complete MongoDB integration
  • Well-organized schema system
  • Tools for data management and backup

API Integrations

  • Valorant API for game data
  • Spotify API for music data
  • Instagram API for post tracking
  • Weather API for forecasts

Performance

  • Efficient command handling
  • Comprehensive event management system
  • Proper process management

Environment Setup

Setting up the .env file

For easy setup of the environment files, you can use the provided scripts:

# For production environment
npm run setup-env:prod

# For development environment
npm run setup-env:dev

When you run these commands:

  1. A script will generate in the console
  2. You'll need to fill out fields in the console (fields marked "Required" must be completed)
  3. Once filled in, it will write those fields to generate the appropriate .env file

💡 Alternative Approach

Alternatively, you can manually fill in the fields by viewing the .example.env file and creating your own .env file based on it.

Support & Contributions

Discord Support

Connect with us on Discord for support or any related inquiry.

GitHub Repository

View the source code and contribute on GitHub.

License

Released under the terms of MIT License.

Thanks to TheLegendDev for the readme template from Nub Bot 💛

Star History

⭐ Support The Project

If you're a fan of this repository or have used it or any of its code, please consider leaving us a star. It would be greatly appreciated and allows us to see if users value the bot!

Star on GitHub