This repository has no description
1# Bluesky Awoo Bot
2
3[](http://unmaintained.tech/)
4
5***This repository is available on [GitHub](https://github.com/ewanc26/bluesky-awoo-bot) and [Tangled](https://tangled.sh/did:plc:ofrbh253gwicbkc5nktqepol/bluesky-awoo-bot). GitHub is the primary version, and the Tangled version is a mirror.***
6
7Bluesky 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.
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## Project Structure
68
69```plaintext
70bluesky-awoo-bot/
71│
72├── src/
73│ ├── config.env # Environment configuration file
74│ ├── index.ts # Main script for the bot
75│ ├── wolf-noise-generator.ts # Module for generating random wolf noises
76│ └── wolf-noises.json # JSON file containing predefined wolf noises
77│
78├── package.json # Node.js project metadata and dependencies
79└── README.md # This README file
80```
81
82## Explanation of Files
83
84### `src/config.env`
85
86This 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.
87
88### `src/index.ts`
89
90This 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.
91
92### `src/wolf-noise-generator.ts`
93
94This module contains the logic for generating random wolf noises based on predefined categories and probabilities.
95
96### `src/wolf-noises.json`
97
98This JSON file includes the predefined wolf noises categorized into different types (howl, playful, scared) and associated punctuation.