60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
# PointsBot
|
|
|
|
## Overview
|
|
PointsBot is a Reddit bot that monitors posts in a subreddit, awards points to users who solve problems, and updates their flair to reflect their achievement levels. When the original poster marks a comment as solved (e.g., by replying "!Solved"), the bot awards a point to the solver, tracks their progress, and notifies them with a reply comment. Points accumulate to unlock new levels, and progress is visually represented with stars and progress bars.
|
|
|
|
## Features
|
|
- Monitors subreddit posts for solutions
|
|
- Awards points to users whose comments are marked as solved
|
|
- Updates user flair based on their point level
|
|
- Notifies users of their progress and next level
|
|
- Prevents awarding points to moderators
|
|
- Consolidates points into stars for easier progress tracking
|
|
|
|
## Installation (Docker Compose)
|
|
|
|
### Prerequisites
|
|
- [Docker](https://docs.docker.com/get-docker/)
|
|
- [Docker Compose](https://docs.docker.com/compose/install/)
|
|
|
|
### Steps
|
|
1. Clone this repository:
|
|
```bash
|
|
git clone https://github.com/slfhstd/MCH-PointsBot.git
|
|
cd MCH-PointsBot
|
|
```
|
|
2. Create a `docker-compose.yml` file in the project root with the following content:
|
|
```yaml
|
|
version: '3.8'
|
|
services:
|
|
pointsbot:
|
|
build: .
|
|
container_name: pointsbot
|
|
environment:
|
|
- PYTHONUNBUFFERED=1
|
|
volumes:
|
|
- ./.pointsbot:/root/.pointsbot
|
|
restart: unless-stopped
|
|
```
|
|
3. Configure the bot:
|
|
- Pre-create the config file using the sample config.
|
|
|
|
4. Build and start the bot:
|
|
```bash
|
|
docker-compose up --build -d
|
|
```
|
|
|
|
## Usage
|
|
- The bot will run in the background and monitor your subreddit.
|
|
- Configuration and logs are stored in the `.pointsbot` directory.
|
|
- To stop the bot:
|
|
```bash
|
|
docker-compose down
|
|
```
|
|
|
|
## License
|
|
MIT License. See LICENSE.md for details.
|
|
|
|
## Credits
|
|
Original author: Collin U. Rapp (u/GlipGlorp7)
|