vouched mode -- with invite codes

Value

As a security conscious activist, I want a way to invite my friends to use signalboost that doesn't involve having to know their phone number or opt them into having their phone number temporarily stored on signalboost servers without their consenting to use the service

Behavior

generating an invite code

GIVEN a channel with vouched mode on and vouch threshold set to 1

  • WHEN a member on channel foo sends INVITE
  • THEN a unique invite code of the form 1b3-4d6 will be created and stored as a valid invite code for that channel
  • AND THEN the channel member will receive a message containing the invite code (so they can send it to an invitee)

retrieving invite codes

GIVEN a channel with vouched mode on

  • WHEN a member on channel foo sends LIST INVITES
  • THEN they will receive a response containing all invite codes they have generated that have not been redeemed by invitees

redeeming invite codes

GIVEN a channel in vouched mode w/ vouch level 1

  • WHEN an invitee sends any message containing a valid invite code to the channel number for foo
  • THEN they will be subscribed to foo and receive a welcome message
  • AND THEN the system will remove that invite code from the pool of valid invite codes for the channel

GIVEN a channel in vouched mode w/ vouch level N

  • WHEN an invitee sends a message containing any number less than N invite codes to the channel
  • THEN they will receive back an error message containing an example of a valid joining message (one that contains two invite codes)

GIVEN a channel in vouched mode w/ vouch level N

  • WHEN an invitee sends a message containing N invite codes to the channel
  • THEN they will be subscribed to the channel and receive a welcome message
  • AND THEN the system will remove invite code from the pool of valid invite codes
Edited by aguestuser