Skip to content

System-End/slack-simplyplural

Repository files navigation

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

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 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:

*/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:

crontab -e

On Windows, use Task Scheduler to run:

bun index.ts

or:

npx ts-node --loader ts-node/esm index.ts

every 5 minutes.

5. Test

To manually sync anytime:

bun index.ts
# or:
npx ts-node --loader ts-node/esm index.ts

Uninstall

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors