charmflow

0.0.5 • Public • Published

CharmFlow

Easily create Discord interaction sequences with Eris.

Table of contents

Features

  • Easily create sequential flows without worrying about interaction or message id's
  • Branch depending on user choices
  • Delete or keep messages easily
  • Cleanup at the end or after timing out
  • Low API surface mostly exposing Eris.ComponentInteraction at each step in the sequence
  • Automatically acknowledges interactions

Setup

To run this project, install it locally using npm:

$ npm install --save charmflow

or with yarn

$ yarn add -S charmflow

Quick Example

const charmFlow = new CharmFlow(erisClient);

charmFlow.onCommand("setup")
    .flow(interaction => interaction.createFollowup("Hey welcome to My Bot, this is a quick setup guide!"))
    .keepMessage()
    .flow(interaction => interaction.createFollowup(/* ... */))
    .flow((interaction, flow) => { 
        // do this if they picked yes
        if (interaction.data.values.includes("yes")) {
	      // optionally kick off other subflows with flow() or store stuff in db
        }
    })
    .deleteMessages() // delete top level messages except for the first
    .end(interaction => interaction.editOriginalMessage("all done!"))

More examples can be found in the examples folder.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i charmflow

Weekly Downloads

0

Version

0.0.5

License

MIT

Unpacked Size

77.7 kB

Total Files

28

Last publish

Collaborators

  • darkmattergg