mirror of
https://github.com/System-End/slack-simplyplural.git
synced 2026-04-19 16:28:24 +00:00
107 lines
2.8 KiB
Markdown
107 lines
2.8 KiB
Markdown
# slack-simplyplural
|
||
|
||
Credit for the base code goes to https://github.com/dainfloop! I modified it to include exclusions and remove pronouns if you have them in the name.
|
||
|
||
Keep your Slack profile synced with SimplyPlural fronters. Built for systems who want to reflect who's fronting in real time — with the ability to exclude groups and set visual replacements.
|
||
|
||
GitHub: https://github.com/System-End/slack-simplyplural
|
||
|
||
## Features
|
||
|
||
- Syncs Slack name, pronouns, and profile picture from SimplyPlural
|
||
- Exclude fronters from certain groups
|
||
- Replace excluded members with designated alternates or a fallback identity
|
||
- Auto-detects and merges multiple avatars into a neat layout
|
||
- Crops avatars cleanly and formats a grid for Slack
|
||
- Detects changes and only sends updates when needed
|
||
- Runs on both Node.js (Linux/macOS/Raspberry Pi) and Bun (Windows)
|
||
|
||
## Install Instructions
|
||
|
||
### 1. Clone the Repo
|
||
|
||
```bash
|
||
git clone https://github.com/System-End/slack-simplyplural.git
|
||
cd slack-simplyplural
|
||
```
|
||
|
||
### 2. Run Guided Installer
|
||
|
||
For Linux/macOS/Raspberry Pi or Windows (Git Bash or WSL):
|
||
```bash
|
||
bash install.sh
|
||
```
|
||
|
||
The installer will:
|
||
- Install all dependencies using Bun or Node/npm
|
||
- Prompt you to enter tokens and group names
|
||
- Create users.toml with your config
|
||
- Offer to install a cron job (Linux/macOS)
|
||
- Run a one-time sync to test it all
|
||
|
||
### 3. Configuration
|
||
|
||
During the installer, you’ll be asked for:
|
||
- Your SimplyPlural ID and Token (start token with Bearer)
|
||
- Slack user token with users.profile:write and users.setPhoto scopes
|
||
- Default avatar URL for fallback
|
||
- Comma-separated list of excluded groups (e.g., Littles,Bots)
|
||
- Optional: specific group→member replacements
|
||
- Optional: fallback member identity (name, pronouns, avatar)
|
||
|
||
This info is saved in a file called users.toml.
|
||
|
||
### 4. Automation (Linux/macOS)
|
||
|
||
The installer will ask to install this cron job:
|
||
```bash
|
||
*/5 * * * * cd /path/to/project && npx ts-node --loader ts-node/esm index.ts >> log.txt 2>&1
|
||
```
|
||
|
||
If you skip it, you can always add it manually with:
|
||
```bash
|
||
crontab -e
|
||
```
|
||
|
||
On Windows, use Task Scheduler to run:
|
||
```powershell
|
||
bun index.ts
|
||
```
|
||
or:
|
||
```powershell
|
||
npx ts-node --loader ts-node/esm index.ts
|
||
```
|
||
every 5 minutes.
|
||
|
||
### 5. Test
|
||
|
||
To manually sync anytime:
|
||
```bash
|
||
bun index.ts
|
||
# or:
|
||
npx ts-node --loader ts-node/esm index.ts
|
||
```
|
||
|
||
## Uninstall
|
||
|
||
```bash
|
||
bash uninstall-slack-simplyplural.sh
|
||
```
|
||
|
||
Removes the cron job, dependencies, and offers to clean up config files.
|
||
|
||
## Build Modes
|
||
|
||
- Bun: easiest and fastest for Windows (recommended)
|
||
- Node.js + ts-node: required for Linux, macOS, and Raspberry Pi
|
||
|
||
Install Bun: https://bun.sh
|
||
Install Node.js: https://nodejs.org
|
||
|
||
## Need Help?
|
||
|
||
Open an issue on GitHub or contact @System-End.
|
||
|
||
---
|
||
|
||
Built for systems who want control over what shows in Slack — respectful, private, and customizable.
|