A slack bot designed to make the lives of plural systems easier
Find a file
dependabot[bot] e41c0afc1e
build(deps): bump the cargo group across 1 directory with 7 updates
Bumps the cargo group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [time](https://github.com/time-rs/time) | `0.3.41` | `0.3.47` |
| [tracing-subscriber](https://github.com/tokio-rs/tracing) | `0.3.19` | `0.3.20` |
| [bytes](https://github.com/tokio-rs/bytes) | `1.10.1` | `1.11.1` |
| [quinn-proto](https://github.com/quinn-rs/quinn) | `0.11.12` | `0.11.14` |
| [rsa](https://github.com/RustCrypto/RSA) | `0.9.8` | `0.9.10` |
| [rustls-webpki](https://github.com/rustls/webpki) | `0.103.3` | `0.103.10` |
| [slab](https://github.com/tokio-rs/slab) | `0.4.10` | `0.4.12` |



Updates `time` from 0.3.41 to 0.3.47
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.41...v0.3.47)

Updates `tracing-subscriber` from 0.3.19 to 0.3.20
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.19...tracing-subscriber-0.3.20)

Updates `bytes` from 1.10.1 to 1.11.1
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.10.1...v1.11.1)

Updates `quinn-proto` from 0.11.12 to 0.11.14
- [Release notes](https://github.com/quinn-rs/quinn/releases)
- [Commits](https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.12...quinn-proto-0.11.14)

Updates `rsa` from 0.9.8 to 0.9.10
- [Changelog](https://github.com/RustCrypto/RSA/blob/v0.9.10/CHANGELOG.md)
- [Commits](https://github.com/RustCrypto/RSA/compare/v0.9.8...v0.9.10)

Updates `rustls-webpki` from 0.103.3 to 0.103.10
- [Release notes](https://github.com/rustls/webpki/releases)
- [Commits](https://github.com/rustls/webpki/compare/v/0.103.3...v/0.103.10)

Updates `slab` from 0.4.10 to 0.4.12
- [Release notes](https://github.com/tokio-rs/slab/releases)
- [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/slab/compare/v0.4.10...v0.4.12)

---
updated-dependencies:
- dependency-name: time
  dependency-version: 0.3.47
  dependency-type: direct:production
  dependency-group: cargo
- dependency-name: tracing-subscriber
  dependency-version: 0.3.20
  dependency-type: direct:production
  dependency-group: cargo
- dependency-name: bytes
  dependency-version: 1.11.1
  dependency-type: indirect
  dependency-group: cargo
- dependency-name: quinn-proto
  dependency-version: 0.11.14
  dependency-type: indirect
  dependency-group: cargo
- dependency-name: rsa
  dependency-version: 0.9.10
  dependency-type: indirect
  dependency-group: cargo
- dependency-name: rustls-webpki
  dependency-version: 0.103.10
  dependency-type: indirect
  dependency-group: cargo
- dependency-name: slab
  dependency-version: 0.4.12
  dependency-type: indirect
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-03 16:37:56 +00:00
.sqlx feat(docker): add Dockerfile and SQLx offline query cache 2026-04-02 15:30:25 -07:00
assets docs: add demo video 2025-07-20 13:34:27 +02:00
migrations feat: remove system name 2025-07-20 00:25:33 +02:00
src chore(deps): restore dotenvy and replace custom .env loader 2026-04-03 09:34:30 -07:00
.env.example feat(docker): add Dockerfile and SQLx offline query cache 2026-04-02 15:30:25 -07:00
.gitignore feat: initial commit 2025-06-08 21:12:07 +02:00
build.rs feat: initial commit 2025-06-08 21:12:07 +02:00
Cargo.lock build(deps): bump the cargo group across 1 directory with 7 updates 2026-04-03 16:37:56 +00:00
Cargo.toml build(deps): bump the cargo group across 1 directory with 7 updates 2026-04-03 16:37:56 +00:00
Dockerfile feat(docker): add Dockerfile and SQLx offline query cache 2026-04-02 15:30:25 -07:00
LICENSE chore: add LICENSE 2025-06-18 14:25:43 +02:00
manifest.json docs: add manifest template, update README and explain text 2026-04-02 15:30:25 -07:00
README.md docs: add manifest template, update README and explain text 2026-04-02 15:30:25 -07:00
rust-toolchain.toml feat: initial commit 2025-06-08 21:12:07 +02:00

Plura

A slack bot designed to make the lives of plural systems easier. Inspired by PluralKit.

https://github.com/user-attachments/assets/cff44cd0-ed4f-4e28-9bac-db6f3a60e03d

I'm plural myself (endoftimee), and I am not (Suya), but I do know a lot of Hack Club members that are plural and do want an easier way to differentiate between alters. Thus, I made this. It works similarly to PluralKit, by basically rewriting sent messages under different members using Slack's API.

Features

  • Manage members and profiles
    • Add, delete, edit, and get member information
    • Manage member aliases so your members are easier to refer to.
  • Send messages under different members
    • Triggers
      • E.g. Hi ~J to send a message under a user who is associated with the suffix ~J
  • Message actions for managing messages sent by members
    • Message editing
    • Message deletion
    • Message info (i.e. the profile of the member that sent it)
    • Message reproxying (i.e. sending a message under a different user after it's been sent)
  • Set and view information about a member
  • Import members from PluralKit via /sync from-pk <token>

AI Usage in this project

(Required for Summer Of Making by Hack Club)

  • General autocompletion tooling (i.e. Zed edit predictions)
  • Initial draft of the merge_trigger_fields migration was done by AI
    • This also included editing matching structs
    • This has been refactored and edited by Suya1671
  • Initial draft of trigger commands was done by AI
    • Note that this has been completely redone and nearly no AI-generated code remains. Suya1671 remade triggers to have an entirely command based interface.
  • General code analysis was done by AI to make sure it's easier to understand and maintain the project
    • No code edits by an agent was done. Only suggestions which were implemented if seen fit by Suya1671