This repository has no description
1# Bluesky Awoo Bot
2
3[](http://unmaintained.tech/)
4
5Bluesky 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.
6
7## Table of Contents
8
9- [Installation](#installation)
10- [Configuration](#configuration)
11- [Usage](#usage)
12- [Contributing](#contributing)
13- [License](#license)
14
15## Installation
16
171. **Clone the Repository:**
18
19 ```sh
20 git clone https://github.com/ewanc26/bluesky-awoo-bot.git
21 cd bluesky-awoo-bot
22 ```
23
242. **Install Dependencies:**
25
26 ```sh
27 npm install
28 ```
29
30## Configuration
31
321. **Create a Configuration File:**
33
34 Create a file named `config.env` in the `src` directory with the following contents:
35
36 ```sh
37 BLUESKY_USERNAME="your_bluesky_username"
38 BLUESKY_PASSWORD="your_bluesky_password"
39 ```
40
412. **Fill in Your Bluesky Credentials:**
42
43 Replace `your_bluesky_username` and `your_bluesky_password` with your actual Bluesky account credentials.
44
45## Usage
46
471. **Run the Bot:**
48
49 ```sh
50 npx ts-node src/index.ts
51 ```
52
53 This command will start the bot, which will post a wolf noise immediately and then schedule subsequent posts at random intervals.
54
55## Contributing
56
57Contributions 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.
58
59## License
60
61This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
62
63## Project Structure
64
65```plaintext
66bluesky-awoo-bot/
67│
68├── src/
69│ ├── config.env # Environment configuration file
70│ ├── index.ts # Main script for the bot
71│ ├── wolf-noise-generator.ts # Module for generating random wolf noises
72│ └── wolf-noises.json # JSON file containing predefined wolf noises
73│
74├── package.json # Node.js project metadata and dependencies
75└── README.md # This README file
76```
77
78## Explanation of Files
79
80### `src/config.env`
81
82This file stores the Bluesky credentials required to log in and post. Ensure you keep this file secure and do not share it publicly.
83
84### `src/index.ts`
85
86This 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.
87
88### `src/wolf-noise-generator.ts`
89
90This module contains the logic for generating random wolf noises based on predefined categories and probabilities.
91
92### `src/wolf-noises.json`
93
94This JSON file includes the predefined wolf noises categorized into different types (howl, playful, scared) and associated punctuation.