Database: MySQL
Server language: PHP
Library: MadelineProto ([login to view URL])
UI/UX requirements: No special requirements, basic HTML & CSS
Deployment: Docker ( optional, preferred )
#Data Model
1. TelegramUser
a. UUID
b. Type
- Telegram Group Manager
- Telegram Bot Manager
- Telegram Bot
- Telegram User
c. Telegram Bot Api Key (for user role is Telegram Bot only)
d. Telegram API ID and API Hash
e. phone number, username, userid
f. status
- Active
- SpamReported
g. limitation
- maxGroupCreate (default: 1)
- maxContactsInvite (default: 300)
h. counter
- countGroupCreate (default: 0)
- countContactsInvite (default: 0)
2. TelegramGroup
a. UUID
b. Type
- Channel
- Supergroup
c. chatid (from Telegram)
d. maxMemberSize [int]
e. maxMemberSizePerMonth [int]
f. countMemberSize (default: 0)
g. status ( Active, SpamReported )
3. TelegramContacts
a. UUID
b. username (from Telegram)
c. phone (from Telegram)
d. userid (from Telegram)
4. TelegramSession
a. UUID
b. TelegramUser UUID
c. Login Session data
5. TelegramContactsGroup (One to Many relationship between TelegramContacts and TelegramGroup)
a. ID
b. TelegramContacts UUID
c. TelegramGroup UUID
6. BroadcastChannel (not Telegram Channel, it is just a concept of maintaining different groups of broadcast messages.)
a. UUID
b. Channel Name
c. Channel Message
7. TelegramBotBroadcastChannel(It is an One to Many relationship between TelegramUser(Bot) and BroadcastChannel)
a. UUID
b. TelegramUser UUID (must be a Telegram Bot)
c. BroadcastChannel UUID
#Functional Requirements
1. TelegramUser Initialization
a. Create Telegram Group Manager, Telegram Bot Manager and Telegram User
- by API ID and API Hash
- create new record to TelegramUser
b. Create Telegram Bot
- create new Telegram Bot using Telegram Bot Manager
- create new record to TelegramUser
- Assigning BroadcastChannel to the Bot
c. Manual login of Telegram Group Manager and Telegram Bot Manager
- save to TelegramSession for later usage
d. CRUD page
2. TelegramGroup Initialization
a. Create Telegram Group or Channel by Telegram Group Manager
- Select Telegram Group Manager where countGroupCreate < maxGroupCreate
- Create new Group or Channel
- Invite one Telegram Bot to Telegram Group or Channel from TelegramUser (the choice of Telegram Bot can be specified in the select list)
b. CRUD page
3. TelegramGroup invitation
a. Invite member to Telegram Group or Channel from TelegramContacts
- Invite a TelegramContact [A] to join Telegram Group or Channel [B] where there is no composite record [A, B] found in TelegramContactsGroup
- create new record to TelegramContactsGroup
b. Invite one Telegram Bot to Telegram Group or Channel from TelegramUser (the choice of Telegram Bot can be specified in the select list)
4. Message Broadcasting
a. CRUD page
b. Cron job php for broadcasting
- select all operating ACTIVE Telegram Bots
- each selected bot will send out the corresponding BroadcastChannel Message to their joined group or channel which status is ACTIVE
c. Key Metrics
- Number of Reach
5. Contacts Backup
a. get list of chatids for all groups or channels joined by a Telegram User
b. export all participants by chatid of any Telegram channel or group into TelegramContacts
Hi there,
I'm a software engineer with 4 years of experience as a web developer, creating websites and web-based applications. I have seen the Library Link (madeline Proto) I can develop your project and complete the all tasks and requirements which you have mentioned with my expertise or skills. I have a strong background in PHP, MySQL, HTML5, and Telegram API.
I'm full-time available to discuss your project requirements. Let me know a good time to speak with you.
I'll be looking forward to your response.
Thanks
Usman Tariq
Greetings!
I think it is a urgent problem for you and I can do it within 5 days.
2 experiences with Madeline Proto I have.
Php and REST API including telgram API is very familiar with me.
I wanna work on your project.
I look forward to discussing further.
Best Regards.