mirror of
https://github.com/System-End/plura.git
synced 2026-04-19 10:10:23 +00:00
A slack bot designed to make the lives of plural systems easier
Replace the hand-rolled unsafe .env parser with dotenvy's #[dotenvy::load(required = false)] attribute macro. |
||
|---|---|---|
| .sqlx | ||
| assets | ||
| migrations | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| Dockerfile | ||
| LICENSE | ||
| manifest.json | ||
| README.md | ||
| rust-toolchain.toml | ||
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 ~Jto send a message under a user who is associated with the suffix~J
- E.g.
- Triggers
- 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