{"_id":"@aman179102/insta-bot","_rev":"2-033ddbc51859528e6c3b6aa5d40b2b05","name":"@aman179102/insta-bot","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@aman179102/insta-bot","version":"1.0.0","keywords":["instagram","memes","automation","bot","social-media","pinterest","scraping","cli","nodejs","puppeteer"],"author":{"name":"Aman Kumar","email":"amankk179102@gmail.com"},"license":"MIT","_id":"@aman179102/insta-bot@1.0.0","maintainers":[{"name":"aman179102","email":"amankk179102@gmail.com"}],"homepage":"https://github.com/aman179102/Instagram-Automation#readme","bugs":{"url":"https://github.com/aman179102/Instagram-Automation/issues"},"bin":{"insta-bot":"bin/cli.js"},"dist":{"shasum":"ebd35873a55a39c265676760e9429725fd6930a1","tarball":"https://registry.npmjs.org/@aman179102/insta-bot/-/insta-bot-1.0.0.tgz","fileCount":12,"integrity":"sha512-tEaQxHwedlSHwl0PADo0rKKxRGfni3q0kVrmkBCB+Extz7oQkes5jOuLTtRnzimmqDG9jRFnnMWtc4DjJYdEpA==","signatures":[{"sig":"MEUCIEOq6CdezpROc1mWC++t23l9btMk9TIR6sTxLEwFtix4AiEA7qWWYDWHiOYL8NqIpxKmY1FnB+EYYmcp7WO/8kDHC4o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28229},"main":"src/index.js","engines":{"node":">=14.0.0"},"gitHead":"4e41e228a4231b30bd0087a03bc53e721b6edce8","scripts":{"lint":"eslint src/ bin/","test":"jest","start":"node bin/cli.js run","format":"prettier --write src/ bin/","lint:fix":"eslint src/ bin/ --fix","prepublishOnly":"npm run lint && npm test"},"_npmUser":{"name":"aman179102","email":"amankk179102@gmail.com"},"repository":{"url":"git+https://github.com/aman179102/Instagram-Automation.git","type":"git"},"_npmVersion":"10.8.2","description":"Automated Instagram meme posting bot that scrapes copyright-safe memes from Pinterest and posts them with intelligent scheduling","directories":{},"_nodeVersion":"20.19.4","dependencies":{"axios":"^1.11.0","dotenv":"^17.2.1","commander":"^12.1.0","puppeteer-extra":"^3.3.6","instagram-private-api":"^1.46.1","puppeteer-extra-plugin-stealth":"^2.11.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","eslint":"^9.15.0","globals":"^15.12.0","prettier":"^3.3.3"},"_npmOperationalInternal":{"tmp":"tmp/insta-bot_1.0.0_1756575483104_0.06141315872057285","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@aman179102/insta-bot","version":"1.0.1","description":"Automated Instagram meme posting bot that scrapes copyright-safe memes from Pinterest and posts them with intelligent scheduling","main":"src/index.js","bin":{"insta-bot":"bin/cli.js"},"scripts":{"start":"node bin/cli.js run","test":"jest","lint":"eslint src/ bin/","lint:fix":"eslint src/ bin/ --fix","format":"prettier --write src/ bin/","prepublishOnly":"npm run lint && npm test"},"keywords":["instagram","memes","automation","bot","social-media","pinterest","scraping","cli","nodejs","puppeteer"],"author":{"name":"Aman Kumar","email":"amankk179102@gmail.com"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/aman179102/Instagram-Automation.git"},"bugs":{"url":"https://github.com/aman179102/Instagram-Automation/issues"},"homepage":"https://github.com/aman179102/Instagram-Automation#readme","engines":{"node":">=14.0.0"},"dependencies":{"axios":"^1.11.0","commander":"^12.1.0","dotenv":"^17.2.1","instagram-private-api":"^1.46.1","puppeteer-extra":"^3.3.6","puppeteer-extra-plugin-stealth":"^2.11.2"},"devDependencies":{"eslint":"^9.15.0","globals":"^15.12.0","jest":"^29.7.0","prettier":"^3.3.3"},"_id":"@aman179102/insta-bot@1.0.1","gitHead":"d24d5a80b5b6ad6323e0336fa72b653fa3d1829e","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-qCJ89PVQ0WMB8DBYOsvpT8RJNn0AkGdBYpDL9D/OGJqs5ZaOc9BsitbrdI6mzykrtR4ITRPTxZ2U7UKNu0TF3Q==","shasum":"81c393f855246d8153a5e27df768c6181b08043c","tarball":"https://registry.npmjs.org/@aman179102/insta-bot/-/insta-bot-1.0.1.tgz","fileCount":12,"unpackedSize":29438,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDHBPIqZAzjAkEsoZ/cFKA1Q9fa1WKu/e+hnw8VLERA1AiEAgdH/MUvadyZ4BSzfSDIlKSdmYAVV8amEpONwcOsB3nA="}]},"_npmUser":{"name":"aman179102","email":"amankk179102@gmail.com"},"directories":{},"maintainers":[{"name":"aman179102","email":"amankk179102@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/insta-bot_1.0.1_1756576065913_0.5892549880939588"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-30T17:38:03.030Z","modified":"2025-08-30T17:47:46.319Z","1.0.0":"2025-08-30T17:38:03.311Z","1.0.1":"2025-08-30T17:47:46.147Z"},"bugs":{"url":"https://github.com/aman179102/Instagram-Automation/issues"},"author":{"name":"Aman Kumar","email":"amankk179102@gmail.com"},"license":"MIT","homepage":"https://github.com/aman179102/Instagram-Automation#readme","keywords":["instagram","memes","automation","bot","social-media","pinterest","scraping","cli","nodejs","puppeteer"],"repository":{"type":"git","url":"git+https://github.com/aman179102/Instagram-Automation.git"},"description":"Automated Instagram meme posting bot that scrapes copyright-safe memes from Pinterest and posts them with intelligent scheduling","maintainers":[{"name":"aman179102","email":"amankk179102@gmail.com"}],"readme":"# 🤖 Instagram Meme Bot\n\n[![npm version](https://badge.fury.io/js/instagram-meme-bot.svg)](https://badge.fury.io/js/instagram-meme-bot)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA production-ready automated Instagram meme posting bot that scrapes copyright-safe memes from Pinterest and posts them with intelligent scheduling. Built with Node.js, Puppeteer, and the Instagram Private API.\n\n## ✨ Features\n\n- 🎯 **Smart Meme Scraping**: Finds copyright-safe memes from Pinterest\n- 🤖 **Automated Posting**: Posts to Instagram with random, engaging captions\n- 🧠 **Human-like Behavior**: Random delays and stealth techniques\n- 🌍 **Multi-language Support**: Alternates between English and Hinglish memes\n- 🔐 **Session Management**: Persistent Instagram login sessions\n- 📱 **CLI Interface**: Easy-to-use command line interface\n- 📦 **NPM Package**: Use programmatically in your Node.js projects\n\n## 🚀 Quick Start\n\n### Global Installation\n\n```bash\nnpm install -g instagram-meme-bot\n```\n\n### Using npx (No Installation Required)\n\n```bash\nnpx instagram-meme-bot config  # Setup credentials\nnpx instagram-meme-bot run     # Start the bot\n```\n\n## 📖 Usage\n\n### CLI Commands\n\n#### Setup Configuration\n```bash\ninstagram-meme-bot config\n```\nInteractive setup for Instagram credentials and optional Puppeteer settings.\n\n#### Run the Bot\n```bash\n# Run continuously (recommended)\ninstagram-meme-bot run\n\n# Run once and exit\ninstagram-meme-bot run --once\n```\n\n#### Check Version\n```bash\ninstagram-meme-bot version\n```\n\n### Environment Variables\n\nCreate a `.env` file in your project directory:\n\n```env\nINSTA_USERNAME=your_instagram_username\nINSTA_PASSWORD=your_instagram_password\nPUPPETEER_EXECUTABLE_PATH=/path/to/chrome  # Optional\n```\n\n## 📚 Programmatic Usage\n\nUse the bot in your Node.js applications:\n\n```javascript\nconst InstagramMemeBot = require('instagram-meme-bot');\n\nconst bot = new InstagramMemeBot();\n\n// Run once\nasync function postSingleMeme() {\n  try {\n    await bot.runOnce();\n    console.log('Meme posted successfully!');\n  } catch (error) {\n    console.error('Error:', error.message);\n  }\n}\n\n// Run continuously\nasync function startBot() {\n  try {\n    await bot.run(); // Runs indefinitely\n  } catch (error) {\n    console.error('Bot error:', error.message);\n  }\n}\n\n// Setup configuration programmatically\nasync function setupConfig() {\n  await bot.setupConfig();\n}\n```\n\n## 🛠️ Installation & Setup\n\n### Prerequisites\n\n- Node.js >= 14.0.0\n- Instagram account\n- Chrome/Chromium browser (automatically installed with Puppeteer)\n\n### Step-by-Step Setup\n\n1. **Install the package**\n   ```bash\n   npm install -g instagram-meme-bot\n   ```\n\n2. **Configure credentials**\n   ```bash\n   instagram-meme-bot config\n   ```\n   \n3. **Start the bot**\n   ```bash\n   instagram-meme-bot run\n   ```\n\n### Docker Usage (Optional)\n\n```dockerfile\nFROM node:18-alpine\nWORKDIR /app\nCOPY package*.json ./\nRUN npm install\nCOPY . .\nCMD [\"npm\", \"start\"]\n```\n\n## ⚙️ Configuration Options\n\n### Environment Variables\n\n| Variable | Description | Required | Default |\n|----------|-------------|----------|---------|\n| `INSTA_USERNAME` | Instagram username | ✅ | - |\n| `INSTA_PASSWORD` | Instagram password | ✅ | - |\n| `PUPPETEER_EXECUTABLE_PATH` | Custom Chrome path | ❌ | Auto-detected |\n\n### Bot Behavior\n\n- **Posting Frequency**: 40-120 minutes between posts (randomized)\n- **Meme Sources**: Pinterest (copyright-safe images only)\n- **Caption Style**: Random engaging captions with proper credits\n- **Error Handling**: Automatic retry with exponential backoff\n\n## 🔧 Troubleshooting\n\n### Common Issues\n\n#### Instagram Login Issues\n```bash\n# Clear saved session and reconfigure\nrm ig-session.json\ninstagram-meme-bot config\n```\n\n#### Puppeteer/Chrome Issues\n```bash\n# Install Chrome dependencies (Ubuntu/Debian)\nsudo apt-get update\nsudo apt-get install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget\n```\n\n#### Rate Limiting\nThe bot automatically handles Instagram rate limits with intelligent delays. If you encounter frequent rate limits:\n- Reduce posting frequency\n- Use a dedicated Instagram account\n- Ensure your account is in good standing\n\n#### Memory Issues\n```bash\n# Increase Node.js memory limit\nnode --max-old-space-size=4096 bin/cli.js run\n```\n\n### Error Codes\n\n| Error | Cause | Solution |\n|-------|-------|----------|\n| `checkpoint` | Instagram security check | Complete verification in Instagram app |\n| `rate limit` | Too many requests | Wait for automatic retry |\n| `Protocol error` | Puppeteer connection issue | Restart bot, check Chrome installation |\n\n## 📁 Project Structure\n\n```\ninstagram-meme-bot/\n├── bin/\n│   └── cli.js              # CLI entry point\n├── src/\n│   ├── index.js            # Main package export\n│   ├── bot.js              # Core bot logic\n│   ├── instagram.js        # Instagram posting\n│   ├── scraper.js          # Pinterest scraping\n│   ├── config.js           # Configuration management\n│   └── utils.js            # Utility functions\n├── test/\n│   └── utils.test.js       # Jest tests\n├── .eslintrc.js            # ESLint configuration\n├── .prettierrc             # Prettier configuration\n├── .npmignore              # NPM ignore rules\n├── package.json            # Package metadata\n├── LICENSE                 # MIT License\n└── README.md               # This file\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature-name`\n3. Make your changes and add tests\n4. Run linting: `npm run lint`\n5. Run tests: `npm test`\n6. Commit changes: `git commit -am 'Add feature'`\n7. Push to branch: `git push origin feature-name`\n8. Submit a pull request\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## ⚠️ Disclaimer\n\nThis project is for educational purposes only. Please:\n- Use responsibly and respect Instagram's Terms of Service\n- Don't spam or post inappropriate content\n- Give proper credit to original meme creators\n- Use a dedicated account for automation\n\n## 🙏 Acknowledgments\n\n- [Puppeteer Extra](https://github.com/berstend/puppeteer-extra) for stealth scraping\n- [Instagram Private API](https://github.com/dilame/instagram-private-api) for Instagram integration\n- Pinterest for providing a source of creative content\n\n## 📞 Support\n\n- 🐛 [Report Issues](https://github.com/aman179102/Instagram-Automation/issues)\n- 💬 [Discussions](https://www.linkedin.com/in/aman-kumar-031005330/)\n- 📧 Email: amankk179102@gmail.com\n\n---\n\n**Made with ❤️ by [Aman Kumar](https://github.com/aman179102)**\n","readmeFilename":"README.md"}