Technical Specification (TS) for the Refer&Earn Bot (REB) Competition

Technical Specification (TS) for the Refer&Earn Bot (REB) Competition


1. Introduction

1.1 Description

As part of this competition, you will develop a Telegram bot named Refer&Earn Bot (REB) that allows users to:

  • Manage their balance (earn, spend, and withdraw funds).
  • Invite friends via a referral system.
  • Receive daily bonuses.
  • View statistics.
  • Contact support.

1.2 Expected Outcome

A fully functional Telegram bot with a user-friendly interface and clean, maintainable code.

Important: The bot must be configurable, allowing administrators to adjust its settings.


2. Core Features

2.1 Registration and Authorization

  • Users must join mandatory channels before accessing the bot.

2.2 Balance Management

  • Users can check their current balance.
  • Funds can be added and deducted.
  • Transaction history should store up to 10-20 most recent transactions.

2.3 Withdrawals

  • Users can request withdrawals by entering an amount.
  • The system validates:Minimum and maximum withdrawal limits.
  • Sufficient balance availability.
  • Wallet confirmation. (User can set wallet before)
  • Withdrawal requests are sent to an admin channel, where an admin approves or declines the request manually.
  • Users receive notifications about their withdrawal status.
  • Once a withdrawal is confirmed, information about the reward is published in a public channel (configurable by the admin).

2.4 Referral System

  • Users receive a unique referral link.
  • Bonuses are credited for each referred user.
  • The system tracks and displays statistics (number of referrals, earned rewards).

2.5 Bonus System

  • User can receive bonuse buy clicking button at configurable time intervals (default: every 24 hours).

2.7 Statistics

  • The bot tracks total users, referral performance and etc
  • etc

2.8 Support

  • Users can send support requests.
  • The bot provides automated responses to frequently asked questions (FAQ).

3. Administrator Features

3.1 User Management

  • Ban/unban users.

3.2 Channel Management

  • Add/remove mandatory channels.
  • Verify user subscriptions.
  • Set up the admin channel for withdrawal requests.
  • Set up the public channel for reward announcements.

3.3 Withdrawal Management

  • Approve/decline withdrawal requests via the admin channel.
  • Automatically notify users about withdrawal decisions.
  • Post reward announcements in the public channel after approval.

3.4 Broadcasting (Mass Messaging)

  • Admins can send broadcast messages to all users.
  • Admins can customize the message content before sending.

3.5 Flexible Bot Configuration

  • Modify bot messages.
  • Set up bonus amounts and intervals.
  • Adjust referral reward amounts.
  • Specify the admin/public channels for withdrawal handling and announcements.

4. Development Requirements

4.1 Clean Code

  • The bot’s logic should be modular and well-structured.
  • Variables and functions should have clear, meaningful names.
  • No hardcoded values – all essential settings should be adjustable.

4.2 User-Friendly Interface

  • Inline buttons for navigation.
  • Clear and concise user messages.

4.3 Configurability

  • Admins should be able to adjust key bot settings


Report Page