Telegram bot provides time-based currency

    Many of us spend time in specialized telegram groups. The power over communication here belongs to random people with their own shortcomings. Conflict and abuse occurs regularly. Is there another way to keep order so that scam spam doesn't flourish and no one has total control over group members?
    In my case, these thoughts led to the development and testing of a system that can be connected to your Telegram today.

    First of all, you need to determine what is the key aspect, the currency of the system. Not karma and not points, not likes and not a rating. Time itself became it. What follows from this?

    • Each user accumulates time from the moment of writing the first message. This is analogous to the unconditional basic income. Minute by minute, hour by hour. It is important that the issuance of the systemic currency takes place without abuse, independent of any control centers.

    • Absolutely everyone can use part of the accumulated time to ban another user in the chat for this time. This is an electronic analogue of the second amendment, which is needed so that power is not concentrated in a group in the same hands.

    • Everyone can also use the accumulated time to unlock another user. This protects against abuse by banhammers. At the same time, this function is a reverse emission process. The time spent on the ransom from the ban is irretrievably wasted.

    • The accumulated time can be transferred to other people in whole or in parts. Ultimately, this feature provides related groups with a free marketplace to exchange whatever they want.

    So, how it works in theory is understandable, but what is needed for the practical functioning of such a system?

    • An easy way to connect the chat to the system.
      Implemented as a bot

    • The most user-friendly UX for Telegram teams
      There is speech recognition based on normalized semantic representations

    What about examples?

    The bot understands free-form English in requests. Abbreviations are used: d - days, h - hours, m - minutes, s - seconds. All notifications are public and disappear after 15 seconds.

    Here's how to find out how much time has accumulated
    Here's how to find out how much time has accumulated
    You can ban another person or spammer by telling him how long he will be banned (and possibly a reason)
    You can ban another person or spammer by telling him how long he will be banned (and possibly a reason)
    If this is a misunderstanding, you can simply write in the answer that the person needs to be unblocked
    If this is a misunderstanding, you can simply write in the answer that the person needs to be unblocked
    To transfer time to another user, indicate in the answer how much time you need to transfer
    To transfer time to another user, indicate in the answer how much time you need to transfer

    Talk is cheap. Show me the code!

    The Kotlin language is used on the server side, and the Redis cluster is used for the database. All code is documented and available on GitHub: demidko/timecobot

    To start using the bot in your telegram group, just add it as administrator: @timecobot

    Write your opinion in the comments, is it necessary for the it-community and is it worth developing the system further? What can be improved or changed? Are you interested in a detailed article with code on how this is implemented internally?

    Have a nice day, everyone!

    View comments on Hacker News

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 5

      +1
      Multi-accounts break your idea.
        0
        Democracy in Telegram groups
        Absolutely everyone can use part of the accumulated time to ban another user
        Democracy is competition of ideas.
        Banning people for their ideas is mob rule.

        Punishment-based rating systems are relics of 2000's web forums which never worked as intended. While there may be scenarios where a system like this could be useful, I think in general it will cause a group to devolve into a reddit-esque echochamber overtime.
          0
          Was banhammers ever free for everyone?
            0
            When was the banhammer market available to everyone in the past?
            0
            Telegram should release their server source! github.com/telegramdesktop/tdesktop/issues/16068

            Only users with full accounts can post comments. Log in, please.