bin | ||
config | ||
lib | ||
.gitignore | ||
.rubocop.yml | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
README.md |
DisWarden - The Anti-Malware Discord Bot!
Created by PixelRidge Softworks
DisWarden is a Discord bot designed to enhance server security by scanning files, images, and links shared within the chat. Utilizing the robust capabilities of VirusTotal and OPSWAT MetaDefender, DisWarden ensures that all shared content is free from malware and safe for community members. In scenarios where rate limits affect our primary scanning service, the bot smartly falls back to an alternative service, guaranteeing continuous protection.
Features
- Malware Scanning: Automatically scans all files and images shared in the chat for malware.
- Link Reputation: Checks the reputation of URLs to protect against phishing or spoofed links.
- Rate Limit Management: Seamlessly switches between VirusTotal and OPSWAT MetaDefender in case of rate limiting.
- Queue System: Temporarily queues files for scanning if both services are unavailable, retrying at a later time.
- Ruby-based: Developed in Ruby using the discordrb library for efficient and reliable bot operations.
Prerequisites
Before you install DisWarden, ensure you have the following:
- Ruby (version 3.2 or newer)
- Bundler (
gem install bundler
) - A Discord Bot Token (How to get one)
- API Keys for both VirusTotal and OPSWAT MetaDefender
Installation
Clone the repository to your machine/vps:
git clone https://git.pixelridgesoftworks.com/PixelRidge-Softworks/DisWarden.git
cd DisWarden
Install the required gems:
bundle install
Configure your environment variables. Rename .env.example to .env and fill in your Discord Bot Token, VirusTotal API Key, and OPSWAT MetaDefender API Key.
Run the bot:
ruby runner.rb
Usage
Once DisWarden is up and running, it will automatically start scanning any files, images, and links shared in your Discord server's text channels. If a threat is detected, the bot will alert the channel and provide advice on how to proceed.
Contributing
Contributions to DisWarden are always welcome, whether it's bug reports, feature requests, or pull requests. Here's how you can contribute:
Bug Reports & Feature Requests:
Please use the Issues section to report any bugs, suggest features, or ask questions.
Pull Requests:
If you've made an improvement to DisWarden, please submit a pull request with a clear explanation of the changes.
License
This project is licensed under the PixelRidge-BEGPULSE License. See the LICENSE file for details.
Acknowledgments
- discordrb: A Ruby library for Discord bots.
- VirusTotal: For providing a comprehensive API for file and URL analysis.
- OPSWAT MetaDefender: For offering advanced threat prevention and detection capabilities.