discordbot/README.md
ale 17a70e8882
google trends
Signed-off-by: ale <ale@manalejandro.com>
2025-06-08 06:33:54 +02:00

140 lines
4.0 KiB
Markdown

# Discord Multimedia Bot
A powerful Discord bot that can send messages and search for multimedia files on Google with enhanced display capabilities.
## Features
- 🏓 **Ping Command** - Simple ping command to check if the bot is working
- 📨 **Message Sending** - Send messages to any channel in the server
- 🔍 **Multimedia Search** - Search for images and videos with embedded preview
- 📈 **Google Trends** - Show current trending topics by country with grouped articles
- ⬇️ **File Download** - Download and share multimedia files directly in Discord
- 🟠 **Bitcoin Monitor** - Real-time Bitcoin transaction monitoring
## Installation
1. Clone this repository
2. Install dependencies:
```bash
npm install
```
3. Create a `.env` file with your bot token:
```env
DISCORD_TOKEN=your_token_here
```
4. Run the bot:
```bash
node index.js
```
## Commands
### 🏓 Ping
```
/ping
```
Simple response to check if the bot is online.
### 📨 Send Message
```
/send channel:#channel-name message:Your message here
```
Sends a message to the specified channel.
- `channel`: The target channel (required)
- `message`: The message content (required)
### 🔍 Search Media
```
/search query:cute puppies type:image count:3
```
Searches for multimedia content on Google with enhanced display.
- `query`: What to search for (required)
- `type`: Either "image" or "video" (required)
- `count`: Number of results to show (1-5, default: 3)
**Image Search Features:**
- Displays images directly in Discord with embeds
- Shows content type information
- Validates image URLs before displaying
- Supports JPG, PNG, GIF, and WebP formats
**Video Search Features:**
- Creates rich embeds with video information
- Shows YouTube video thumbnails automatically
- Includes video descriptions when available
- Supports YouTube, Vimeo, and direct video files
### 📈 Google Trends
```
/trends country:ES
```
Shows current Google Trends by country with articles grouped by context.
- `country`: Country code (US, ES, GB, FR, DE, JP, BR, or Global) (optional, default: US)
**Trends Features:**
- Real-time trending topics from Google Trends
- Articles grouped by news source/category
- Top 3 articles per trending story
- Support for multiple countries
- Rich embeds with clickable article links
- Timestamp and source attribution
### ⬇️ Download Files
```
/download url:https://example.com/image.jpg title:My Image
```
Downloads and shares multimedia files directly in Discord.
- `url`: Direct URL to the multimedia file (required)
- `title`: Optional title for the file (optional)
**Download Features:**
- Validates multimedia URLs before downloading
- Checks file size (8MB Discord limit)
- Supports images, videos, and audio files
- Automatically cleans up temporary files
- Shows file information in rich embeds
## Security Features
- ✅ Environment variables for token security
- ✅ URL validation for multimedia content
- ✅ File size checking
- ✅ Temporary file cleanup
- ✅ Error handling and user feedback
## Supported File Types
**Images:** JPG, JPEG, PNG, GIF, WebP, BMP, SVG
**Videos:** MP4, WebM, MOV, AVI, MKV, FLV
**Audio:** MP3, WAV, OGG, M4A, AAC, FLAC
## Technical Implementation
- **dotenv** for secure environment variable management
- **Enhanced fetch** with proper headers and error handling
- **Discord.js v14** with modern slash commands
- **Google-it** for search functionality
- **Stream pipeline** for efficient file downloads
- **Rich embeds** for multimedia display
## Security Note
⚠️ **Important:** Keep your bot token private and never commit it to a public repository. Always use environment variables for sensitive data.
## Error Handling
The bot includes comprehensive error handling for:
- Invalid URLs
- Network timeouts
- File size limitations
- Permission errors
- API rate limits
## Performance Features
- Efficient file streaming for downloads
- Automatic temporary file cleanup
- URL validation before processing
- Content type verification
- Background processing for long operations