3.2 Заткниииииись!!! PRD - PyshkaPushka/TotahBot GitHub Wiki

Document

- -
Target release
Document Status Draft
Document Owners @zagwalker
Designer
Developer

Goals

The goal of the feature is to provide a group of people (the majority) an option to ban somebody in the chat for a certain period of time.

Background

You know that moment when you can't hold it anymore? When somebody drives you crazy? When if the person nearby you would kill him? Now imagine you could shut his bloody mouth up for an hour or so! Sounds good? Arrange a coalition and ban the motherfucker.

Assumptions

Requirements

Feature can be based on a newly introduced Polls 2.0 API. Seems like Telegram API has this option.

  1. Ban to be based on a majority vote. A majority have to vote for ban so the ban will happen.
  2. Any user can be banned.
  3. Unban should happen automatically after 60 minutes.
  4. User that a poll raised against cannot vote in the poll (if possible).
  5. User can raise a pool against himself (suicide poll).
  6. Poll expires after 5 minutes.
  7. Poll is boolean and does not allow multiple answers.
  8. User to be returned back in chat automatically (seems like possible)

User Interactions and Design

User Story:

User rises a poll mentioning username of the person he would like to ban. Poll has 2 options: Agree and Disagree. When the majority is achieved user got banned. If the majority is not achieved within the given time period (req-5) poll got discarded.

Questions

Not Doing