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.
- 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
- Node.js (v16 or higher)
- npm or yarn
- A Bluesky account
- (Optional) Gelbooru API credentials
- Clone the repository:
git clone https://github.com/chocoOnEstrogen/ahe-bot.git
cd ahe-bot
- Install dependencies:
npm install
- 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
- Run the bot:
npm run dev # Development mode
npm run serve # API server only
npm start # Production mode
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
Detailed documentation is available in the docs directory:
This bot includes several security features:
- Content filtering system
- Rate limiting
- CORS protection
- Environment variable protection
This project is licensed under the GPL-3.0 License - see the LICENSE file for details.
Contributions are welcome! Please read our Contributing Guidelines for details.