Paucal

Version, currently master branch1 version
  • master branchlatestJun 19, 2022

github.com/deingithub/paucal

Proof-of-Concept Supplement for PluralKit. Superseded by naneko/Polyphony.

0 stars
0 dependents
License: MIT

Installation

# Add this to your shard.yml
dependencies:
  Paucal:
    github: deingithub/paucal
    branch: master

master is a branch, not a release, so this tracks it rather than pinning a version.

Then run:

shards install

shard.yml

Crystal
1.0.0
License
MIT
Author
Cassidy Dingenskirchen
Target
  • Paucal from src/Paucal.cr

Dependencies

Runtime Dependencies

  • db*github: crystal-lang/crystal-db
  • dotenv*github: gdotdesign/cr-dotenv
  • sqlite3*github: crystal-lang/crystal-sqlite3
  • discordcr*github: shardlab/discordcr, branch: master

README

Paucal

A WIP supplementary bot for PluralKit.

Contributing

You'll need The Nix Package Manager for dependency/build management. Paucal is written in Crystal.

$ git clone git@github.com:deingithub/paucal
$ cd paucal
$ nix-shell
[nix-shell]$ sqlite3 paucal.db ".read schema.sql"
[nix-shell]$ crystal run src/Paucal.cr

You'll need to provide a .env in the project root, use .env.example as a template.

Overview

Paucal consists out of one Parent bot and many Member bots, all of which are started on initialization. The parent (src/Parent.cr) does most of the work and delegates all tasks that require a member bot to them (src/Member.cr) via channels. Unless unavoidable, member bots don't have their own event handlers and just react to these messages. Data classes for various things are stored in src/Models.cr. The entry point is in src/Paucal.cr.