Skip to content

A TypeScript-based bot that automatically posts anime images to Bluesky. The bot fetches images from popular anime image boards (Gelbooru and Rule34), processes them to meet Bluesky's requirements, and posts them with relevant tags.

License

Notifications You must be signed in to change notification settings

chocoOnEstrogen/ahe-bot

Repository files navigation

AHE Bot

A TypeScript-based bot that automatically posts anime images to Bluesky. The bot fetches images from popular anime image boards (Gelbooru and Rule34), processes them to meet Bluesky's requirements, and posts them with relevant tags.

🌟 Features

  • Automatic image fetching from multiple providers (Gelbooru, Rule34)
  • Smart image processing and resizing
  • Automatic posting to Bluesky
  • Content filtering system
  • Built-in caching for improved performance
  • CORS-enabled API endpoints
  • Configurable posting schedule

📋 Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn
  • A Bluesky account
  • (Optional) Gelbooru API credentials

🚀 Getting Started

  1. Clone the repository:
git clone https://github.com/chocoOnEstrogen/ahe-bot.git
cd ahe-bot
  1. Install dependencies:
npm install
  1. Create a .env file with the following variables:
BLUESKY_IDENTIFIER=your.bluesky.handle
BLUESKY_PASSWORD=your-app-password
GELBOORU_API_KEY=your-api-key
GELBOORU_USER_ID=your-user-id
PORT=3000
  1. Run the bot:
npm run dev # Development mode
npm run serve # API server only
npm start # Production mode

🛠️ Configuration

The bot can be configured through various files:

  • src/resources/block_list.json: Content filtering rules
  • Environment variables (see .env.example)
  • Posting schedule in src/index.ts
  • Provider settings in respective provider classes

📚 Documentation

Detailed documentation is available in the docs directory:

🔒 Security

This bot includes several security features:

  • Content filtering system
  • Rate limiting
  • CORS protection
  • Environment variable protection

📝 License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Please read our Contributing Guidelines for details.

About

A TypeScript-based bot that automatically posts anime images to Bluesky. The bot fetches images from popular anime image boards (Gelbooru and Rule34), processes them to meet Bluesky's requirements, and posts them with relevant tags.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages