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> 🧶 Also available on [Tangled](https://tangled.org/ewancroft.uk/bluesky-awoo-bot)
8
9## Table of Contents
10
11- [Installation](#installation)
12- [Configuration](#configuration)
13- [Usage](#usage)
14- [Contributing](#contributing)
15- [License](#license)
16
17## Installation
18
191. **Clone the Repository:**
20
21 ```sh
22 git clone https://github.com/ewanc26/bluesky-awoo-bot.git
23 cd bluesky-awoo-bot
24 ```
25
262. **Install Dependencies:**
27
28 ```sh
29 npm install
30 ```
31
32## Configuration
33
341. **Create a Configuration File:**
35
36 Create a file named `config.env` in the `src` directory with the following contents:
37
38 ```sh
39 BLUESKY_USERNAME="your_bluesky_username"
40 BLUESKY_PASSWORD="your_bluesky_password"
41 MIN_DELAY_HOURS=1
42 MAX_DELAY_HOURS=3
43 ```
44
452. **Fill in Your Bluesky Credentials:**
46
47 Replace `your_bluesky_username` and `your_bluesky_password` with your actual Bluesky account credentials.
48
49## Usage
50
511. **Run the Bot:**
52
53 ```sh
54 npx ts-node src/index.ts
55 ```
56
57 This command will start the bot, which will post a wolf noise immediately and then schedule subsequent posts at random intervals.
58
59## Contributing
60
61Contributions 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.
62
63## License
64
65This project is licensed under the MIT License. Please take a look at the [LICENSE](LICENSE) file for more details.
66
67## ☕ Support
68
69If you found this useful, consider [buying me a ko-fi](https://ko-fi.com/ewancroft)!
70
71## Project Structure
72
73```plaintext
74bluesky-awoo-bot/
75│
76├── src/
77│ ├── config.env # Environment configuration file
78│ ├── index.ts # Main script for the bot
79│ ├── wolf-noise-generator.ts # Module for generating random wolf noises
80│ └── wolf-noises.json # JSON file containing predefined wolf noises
81│
82├── package.json # Node.js project metadata and dependencies
83└── README.md # This README file
84```
85
86## Explanation of Files
87
88### `src/config.env`
89
90This file stores the Bluesky credentials required to log in and post. Please make sure you keep this file secure and do not share it publicly.
91
92### `src/index.ts`
93
94This 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.
95
96### `src/wolf-noise-generator.ts`
97
98This module contains the logic for generating random wolf noises based on predefined categories and probabilities.
99
100### `src/wolf-noises.json`
101
102This JSON file includes the predefined wolf noises categorized into different types (howl, playful, scared) and associated punctuation.