···11+# Bluesky Awoo Bot
22+33+[](http://unmaintained.tech/)
44+55+Bluesky Awoo Bot is a simple script designed to periodically post random wolf noises on Bluesky. The bot uses a JSON file of predefined wolf noises, selects a random noise, and posts it on Bluesky at random intervals.
66+77+## Table of Contents
88+99+- [Installation](#installation)
1010+- [Configuration](#configuration)
1111+- [Usage](#usage)
1212+- [Contributing](#contributing)
1313+- [License](#license)
1414+1515+## Installation
1616+1717+1. **Clone the Repository:**
1818+1919+ ```sh
2020+ git clone https://github.com/yourusername/bluesky-awoo-bot.git
2121+ cd bluesky-awoo-bot
2222+ ```
2323+2424+2. **Install Dependencies:**
2525+2626+ ```sh
2727+ npm install
2828+ ```
2929+3030+## Configuration
3131+3232+1. **Create a Configuration File:**
3333+3434+ Create a file named `config.env` in the `src` directory with the following contents:
3535+3636+ ```sh
3737+ BLUESKY_USERNAME="your_bluesky_username"
3838+ BLUESKY_PASSWORD="your_bluesky_password"
3939+ ```
4040+4141+2. **Fill in Your Bluesky Credentials:**
4242+4343+ Replace `your_bluesky_username` and `your_bluesky_password` with your actual Bluesky account credentials.
4444+4545+## Usage
4646+4747+1. **Run the Bot:**
4848+4949+ ```sh
5050+ npx ts-node src/index.ts
5151+ ```
5252+5353+ This command will start the bot, which will post a wolf noise immediately and then schedule subsequent posts at random intervals.
5454+5555+## Contributing
5656+5757+Contributions are welcome! Please fork the repository and submit a pull request with your changes. Ensure that your code follows the existing style and includes appropriate tests.
5858+5959+## License
6060+6161+This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
6262+6363+## Project Structure
6464+6565+```plaintext
6666+bluesky-awoo-bot/
6767+│
6868+├── src/
6969+│ ├── config.env # Environment configuration file
7070+│ ├── index.ts # Main script for the bot
7171+│ ├── wolf-noise-generator.ts # Module for generating random wolf noises
7272+│ └── wolf-noises.json # JSON file containing predefined wolf noises
7373+│
7474+├── package.json # Node.js project metadata and dependencies
7575+└── README.md # This README file
7676+```
7777+7878+## Explanation of Files
7979+8080+### `src/config.env`
8181+8282+This file stores the Bluesky credentials required to log in and post. Ensure you keep this file secure and do not share it publicly.
8383+8484+### `src/index.ts`
8585+8686+This is the main script that handles the bot's functionality. It logs into Bluesky, generates a random wolf noise, and posts it. It also schedules future posts at random intervals.
8787+8888+### `src/wolf-noise-generator.ts`
8989+9090+This module contains the logic for generating random wolf noises based on predefined categories and probabilities.
9191+9292+### `src/wolf-noises.json`
9393+9494+This JSON file includes the predefined wolf noises categorized into different types (howl, playful, scared) and associated punctuation.