whatsapp-mass-sender-group-marketing

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

WhatsApp Mass Sender & Group Marketing System

WhatsApp批量发送与群组营销系统

Skill by ara.so — Marketing Skills collection.
ara.so提供的技能 — 营销技能合集。

Overview

概述

This project provides automated tools for multi-platform social media marketing, focusing on:
  • WhatsApp bulk messaging and group marketing campaigns
  • TikTok & Instagram follower extraction from competitor accounts
  • Automated engagement (likes, comments, follows, DMs)
  • Lead filtering by demographics, activity, and AI-based criteria
  • Cross-platform automation for social media growth
Primary use cases:
  • E-commerce stores running targeted outreach
  • Marketing agencies managing multiple client accounts
  • MCN organizations building follower bases
  • Affiliate marketers finding warm leads
本项目提供多平台社交媒体营销自动化工具,核心功能包括:
  • WhatsApp批量消息发送和群组营销活动
  • TikTok与Instagram粉丝提取:从竞品账号获取粉丝数据
  • 自动化互动(点赞、评论、关注、私信)
  • 线索筛选:基于人口统计、活跃度和AI标准筛选潜在客户
  • 跨平台自动化:助力社交媒体账号增长
主要应用场景:
  • 开展精准触达推广的电商店铺
  • 管理多个客户账号的营销代理机构
  • 打造粉丝矩阵的MCN机构
  • 寻找精准潜在客户的联盟营销人员

Installation

安装说明

Based on the project structure, this appears to be a service-based system rather than self-hosted code. Access is provided through:
bash
undefined
根据项目结构,这似乎是一个基于服务的系统,而非可自行部署的代码。可通过以下渠道访问:
bash
undefined

Official website for system access

系统访问官网

Technical support and documentation

技术支持与文档

Environment Setup

环境配置

Store credentials securely using environment variables:
bash
undefined
使用环境变量安全存储凭据:
bash
undefined

.env file

.env 文件

WHATSAPP_API_KEY=your_api_key_here WHATSAPP_PHONE_NUMBER=+1234567890 INSTAGRAM_USERNAME=your_username INSTAGRAM_PASSWORD=your_password TIKTOK_SESSION_TOKEN=your_session_token PROXY_SERVER=http://proxy.example.com:8080
undefined
WHATSAPP_API_KEY=your_api_key_here WHATSAPP_PHONE_NUMBER=+1234567890 INSTAGRAM_USERNAME=your_username INSTAGRAM_PASSWORD=your_password TIKTOK_SESSION_TOKEN=your_session_token PROXY_SERVER=http://proxy.example.com:8080
undefined

Core Features & Configuration

核心功能与配置

1. WhatsApp Mass Messaging

1. WhatsApp批量消息发送

Bulk message sending to contacts or groups:
python
import os
from whatsapp_marketing import MassSender
向联系人或群组批量发送消息:
python
import os
from whatsapp_marketing import MassSender

Initialize sender

初始化发送器

sender = MassSender( api_key=os.getenv('WHATSAPP_API_KEY'), phone_number=os.getenv('WHATSAPP_PHONE_NUMBER') )
sender = MassSender( api_key=os.getenv('WHATSAPP_API_KEY'), phone_number=os.getenv('WHATSAPP_PHONE_NUMBER') )

Send to contact list

发送给联系人列表

contacts = ['+1234567890', '+0987654321'] message = "🔥 Special offer today only! Check out our new products at example.com"
sender.send_bulk_message( recipients=contacts, message=message, delay_between=5, # seconds between messages randomize_delay=True )

**Group marketing:**

```python
contacts = ['+1234567890', '+0987654321'] message = "🔥 今日专属特惠!点击查看我们的新品:example.com"
sender.send_bulk_message( recipients=contacts, message=message, delay_between=5, # 消息间隔秒数 randomize_delay=True )

**群组营销:**

```python

Send to multiple WhatsApp groups

发送给多个WhatsApp群组

groups = ['group_id_1', 'group_id_2', 'group_id_3']
sender.send_to_groups( group_ids=groups, message="Join our exclusive community! Link: example.com/join", schedule_time="2026-06-01 10:00:00" # Optional scheduled send )
undefined
groups = ['group_id_1', 'group_id_2', 'group_id_3']
sender.send_to_groups( group_ids=groups, message="加入我们的专属社群!链接:example.com/join", schedule_time="2026-06-01 10:00:00" # 可选定时发送 )
undefined

2. Instagram Follower Extraction

2. Instagram粉丝提取

Extract followers from competitor accounts:
python
from instagram_scraper import FollowerExtractor

extractor = FollowerExtractor(
    username=os.getenv('INSTAGRAM_USERNAME'),
    password=os.getenv('INSTAGRAM_PASSWORD'),
    proxy=os.getenv('PROXY_SERVER')
)
从竞品账号提取粉丝:
python
from instagram_scraper import FollowerExtractor

extractor = FollowerExtractor(
    username=os.getenv('INSTAGRAM_USERNAME'),
    password=os.getenv('INSTAGRAM_PASSWORD'),
    proxy=os.getenv('PROXY_SERVER')
)

Extract competitor's followers

提取竞品粉丝

competitor_followers = extractor.get_followers( target_account='competitor_username', max_followers=5000, filters={ 'min_followers': 100, 'max_followers': 10000, 'is_verified': False, 'has_profile_picture': True } )
competitor_followers = extractor.get_followers( target_account='competitor_username', max_followers=5000, filters={ 'min_followers': 100, 'max_followers': 10000, 'is_verified': False, 'has_profile_picture': True } )

Save to CSV

保存为CSV文件

extractor.export_to_csv(competitor_followers, 'leads.csv')

**Hashtag-based lead extraction:**

```python
extractor.export_to_csv(competitor_followers, 'leads.csv')

**基于话题标签的线索提取:**

```python

Find users posting with specific hashtags

查找发布特定话题标签内容的用户

hashtag_leads = extractor.search_by_hashtag( hashtags=['fitness', 'workout', 'gym'], engagement_filters={ 'min_likes': 50, 'min_comments': 5, 'posted_within_days': 30 }, max_results=1000 )
hashtag_leads = extractor.search_by_hashtag( hashtags=['fitness', 'workout', 'gym'], engagement_filters={ 'min_likes': 50, 'min_comments': 5, 'posted_within_days': 30 }, max_results=1000 )

Filter by demographics

按人口统计信息筛选

filtered_leads = extractor.filter_by_demographics( users=hashtag_leads, criteria={ 'age_range': [18, 35], 'gender': 'any', 'location': ['US', 'UK', 'CA'] } )
undefined
filtered_leads = extractor.filter_by_demographics( users=hashtag_leads, criteria={ 'age_range': [18, 35], 'gender': 'any', 'location': ['US', 'UK', 'CA'] } )
undefined

3. TikTok User Extraction

3. TikTok用户提取

Extract engaged users from competitor videos:
python
from tiktok_scraper import TikTokExtractor

tiktok = TikTokExtractor(
    session_token=os.getenv('TIKTOK_SESSION_TOKEN')
)
从竞品视频提取互动用户:
python
from tiktok_scraper import TikTokExtractor

tiktok = TikTokExtractor(
    session_token=os.getenv('TIKTOK_SESSION_TOKEN')
)

Get users who liked/commented on competitor videos

获取点赞/评论竞品视频的用户

engaged_users = tiktok.extract_engaged_users( video_url='https://tiktok.com/@competitor/video/123456789', extraction_type='both', # 'likes', 'comments', or 'both' max_users=2000 )
engaged_users = tiktok.extract_engaged_users( video_url='https://tiktok.com/@competitor/video/123456789', extraction_type='both', # 'likes', 'comments', 或 'both' max_users=2000 )

Extract followers from competitor profile

提取竞品账号的粉丝

competitor_followers = tiktok.get_profile_followers( username='competitor_username', max_followers=10000 )
undefined
competitor_followers = tiktok.get_profile_followers( username='competitor_username', max_followers=10000 )
undefined

4. Automated Engagement

4. 自动化互动

Auto-follow, like, and comment:
python
from social_automation import EngagementBot

bot = EngagementBot(
    platform='instagram',
    credentials={
        'username': os.getenv('INSTAGRAM_USERNAME'),
        'password': os.getenv('INSTAGRAM_PASSWORD')
    }
)
自动关注、点赞和评论:
python
from social_automation import EngagementBot

bot = EngagementBot(
    platform='instagram',
    credentials={
        'username': os.getenv('INSTAGRAM_USERNAME'),
        'password': os.getenv('INSTAGRAM_PASSWORD')
    }
)

Configure engagement campaign

配置互动活动

campaign = bot.create_campaign( name='Competitor Targeting Q2', actions={ 'follow': True, 'like_posts': 3, # Like 3 recent posts per user 'comment': True, 'send_dm': True }, targets=filtered_leads, daily_limit=200, # Max actions per day comment_templates=[ 'Great content! 🔥', 'Love this! 💯', 'Amazing post! ✨' ], dm_template='Hi! I love your content. Check out our page @yourpage 🚀' )
campaign = bot.create_campaign( name='竞品定向Q2活动', actions={ 'follow': True, 'like_posts': 3, # 每个用户点赞3条近期帖子 'comment': True, 'send_dm': True }, targets=filtered_leads, daily_limit=200, # 每日最大操作次数 comment_templates=[ 'Great content! 🔥', 'Love this! 💯', 'Amazing post! ✨' ], dm_template='Hi! I love your content. Check out our page @yourpage 🚀' )

Start automated engagement

启动自动化互动

bot.run_campaign(campaign)
undefined
bot.run_campaign(campaign)
undefined

5. Multi-Account Management

5. 多账号管理

Manage multiple social accounts:
python
from account_manager import MultiAccountManager

manager = MultiAccountManager()
管理多个社交账号:
python
from account_manager import MultiAccountManager

manager = MultiAccountManager()

Add accounts

添加账号

manager.add_account('instagram', { 'username': 'account1', 'password': os.getenv('IG_ACCOUNT1_PASSWORD') })
manager.add_account('instagram', { 'username': 'account2', 'password': os.getenv('IG_ACCOUNT2_PASSWORD') })
manager.add_account('instagram', { 'username': 'account1', 'password': os.getenv('IG_ACCOUNT1_PASSWORD') })
manager.add_account('instagram', { 'username': 'account2', 'password': os.getenv('IG_ACCOUNT2_PASSWORD') })

Rotate accounts for actions

分配账号执行操作

manager.distribute_actions( action_type='follow', targets=competitor_followers, actions_per_account=100 )
undefined
manager.distribute_actions( action_type='follow', targets=competitor_followers, actions_per_account=100 )
undefined

Common Patterns

常见流程

Lead Generation Workflow

线索生成工作流

python
undefined
python
undefined

Complete lead generation and outreach workflow

完整的线索生成与触达工作流

def automated_lead_funnel(): # 1. Extract leads from multiple sources ig_leads = extractor.get_followers('competitor1', max_followers=5000) tiktok_leads = tiktok.get_profile_followers('competitor2', max_followers=5000) hashtag_leads = extractor.search_by_hashtag(['yourindustry'], max_results=1000)
# 2. Combine and deduplicate
all_leads = list(set(ig_leads + tiktok_leads + hashtag_leads))

# 3. Filter high-quality leads
qualified_leads = extractor.filter_by_demographics(
    users=all_leads,
    criteria={
        'min_followers': 200,
        'max_followers': 50000,
        'has_business_account': False,
        'engagement_rate': 0.02  # 2% minimum
    }
)

# 4. Automated engagement
bot.create_campaign(
    name='Auto Funnel',
    actions={'follow': True, 'like_posts': 2, 'send_dm': True},
    targets=qualified_leads,
    daily_limit=150
)

# 5. Export for WhatsApp follow-up
phone_numbers = extract_phone_numbers(qualified_leads)
sender.send_bulk_message(
    recipients=phone_numbers,
    message="Special offer for Instagram followers! Use code IG20: example.com"
)
automated_lead_funnel()
undefined
def automated_lead_funnel(): # 1. 从多渠道提取线索 ig_leads = extractor.get_followers('competitor1', max_followers=5000) tiktok_leads = tiktok.get_profile_followers('competitor2', max_followers=5000) hashtag_leads = extractor.search_by_hashtag(['yourindustry'], max_results=1000)
# 2. 合并并去重
all_leads = list(set(ig_leads + tiktok_leads + hashtag_leads))

# 3. 筛选高质量线索
qualified_leads = extractor.filter_by_demographics(
    users=all_leads,
    criteria={
        'min_followers': 200,
        'max_followers': 50000,
        'has_business_account': False,
        'engagement_rate': 0.02  # 最低2%互动率
    }
)

# 4. 自动化互动
bot.create_campaign(
    name='自动转化漏斗',
    actions={'follow': True, 'like_posts': 2, 'send_dm': True},
    targets=qualified_leads,
    daily_limit=150
)

# 5. 导出用于WhatsApp跟进
phone_numbers = extract_phone_numbers(qualified_leads)
sender.send_bulk_message(
    recipients=phone_numbers,
    message="Instagram粉丝专属优惠!使用优惠码IG20:example.com"
)
automated_lead_funnel()
undefined

Scheduled Campaign Management

定时活动管理

python
from scheduler import CampaignScheduler

scheduler = CampaignScheduler()
python
from scheduler import CampaignScheduler

scheduler = CampaignScheduler()

Schedule daily follower extraction

定时每日提取竞品粉丝

scheduler.add_task( name='Daily Competitor Scrape', function=extractor.get_followers, args=['competitor_username'], kwargs={'max_followers': 500}, schedule='daily', time='09:00' )
scheduler.add_task( name='每日竞品数据采集', function=extractor.get_followers, args=['competitor_username'], kwargs={'max_followers': 500}, schedule='daily', time='09:00' )

Schedule engagement waves

定时分时段执行互动

scheduler.add_task( name='Morning Engagement', function=bot.run_campaign, schedule='daily', time='10:00' )
scheduler.add_task( name='Evening Engagement', function=bot.run_campaign, schedule='daily', time='18:00' )
scheduler.start()
undefined
scheduler.add_task( name='上午互动', function=bot.run_campaign, schedule='daily', time='10:00' )
scheduler.add_task( name='下午互动', function=bot.run_campaign, schedule='daily', time='18:00' )
scheduler.start()
undefined

API Rate Limiting & Safety

API速率限制与安全

Implement safe usage patterns:
python
from safety import RateLimiter, ActionThrottler
实现安全使用模式:
python
from safety import RateLimiter, ActionThrottler

Configure rate limits

配置速率限制

limiter = RateLimiter( max_follows_per_hour=50, max_likes_per_hour=100, max_comments_per_hour=30, max_dms_per_hour=20 )
limiter = RateLimiter( max_follows_per_hour=50, max_likes_per_hour=100, max_comments_per_hour=30, max_dms_per_hour=20 )

Use throttler in campaigns

在活动中使用节流器

throttler = ActionThrottler(limiter)
def safe_engagement(targets): for user in targets: # Check rate limits before action if throttler.can_follow(): bot.follow_user(user) throttler.record_action('follow')
    if throttler.can_like():
        bot.like_recent_posts(user, count=2)
        throttler.record_action('like', count=2)
        
    # Random delay to mimic human behavior
    throttler.human_delay(min_seconds=10, max_seconds=30)
undefined
throttler = ActionThrottler(limiter)
def safe_engagement(targets): for user in targets: # 执行操作前检查速率限制 if throttler.can_follow(): bot.follow_user(user) throttler.record_action('follow')
    if throttler.can_like():
        bot.like_recent_posts(user, count=2)
        throttler.record_action('like', count=2)
        
    # 随机延迟模拟人类行为
    throttler.human_delay(min_seconds=10, max_seconds=30)
undefined

Troubleshooting

故障排除

Account Suspension Prevention

账号封禁预防

python
undefined
python
undefined

Use rotating proxies

使用轮换代理

from proxy_rotator import ProxyPool
extractor = FollowerExtractor( username=os.getenv('INSTAGRAM_USERNAME'), password=os.getenv('INSTAGRAM_PASSWORD'), proxy_pool=proxy_pool, rotate_every_n_requests=50 )
undefined
from proxy_rotator import ProxyPool
extractor = FollowerExtractor( username=os.getenv('INSTAGRAM_USERNAME'), password=os.getenv('INSTAGRAM_PASSWORD'), proxy_pool=proxy_pool, rotate_every_n_requests=50 )
undefined

Session Management

会话管理

python
undefined
python
undefined

Handle session expiration

处理会话过期

try: followers = extractor.get_followers('target_account') except SessionExpiredError: extractor.refresh_session() followers = extractor.get_followers('target_account')
undefined
try: followers = extractor.get_followers('target_account') except SessionExpiredError: extractor.refresh_session() followers = extractor.get_followers('target_account')
undefined

Data Export & Integration

数据导出与集成

python
undefined
python
undefined

Export to multiple formats

导出为多种格式

from exporters import DataExporter
exporter = DataExporter()
from exporters import DataExporter
exporter = DataExporter()

CSV export

CSV导出

exporter.to_csv(leads, 'leads.csv', columns=['username', 'followers', 'email'])
exporter.to_csv(leads, 'leads.csv', columns=['username', 'followers', 'email'])

JSON export

JSON导出

exporter.to_json(leads, 'leads.json')
exporter.to_json(leads, 'leads.json')

CRM integration (example: HubSpot)

CRM集成(示例:HubSpot)

exporter.to_crm( leads, crm='hubspot', api_key=os.getenv('HUBSPOT_API_KEY'), custom_fields={'lead_source': 'Instagram Competitor Scrape'} )
undefined
exporter.to_crm( leads, crm='hubspot', api_key=os.getenv('HUBSPOT_API_KEY'), custom_fields={'lead_source': 'Instagram Competitor Scrape'} )
undefined

Best Practices

最佳实践

  1. Always respect platform rate limits to avoid account bans
  2. Use proxy rotation for large-scale extraction
  3. Randomize delays between actions (10-60 seconds)
  4. Store credentials securely in environment variables
  5. Monitor daily action limits (follows, likes, DMs)
  6. Test campaigns on small groups before scaling
  7. Comply with GDPR/privacy laws when collecting user data
  8. Use multiple accounts to distribute workload
  1. 始终遵守平台速率限制,避免账号封禁
  2. 使用代理轮换进行大规模数据提取
  3. 随机化操作间隔(10-60秒)
  4. 使用环境变量安全存储凭据
  5. 监控每日操作上限(关注、点赞、私信)
  6. 大规模推广前先在小群体测试
  7. 收集用户数据时遵守GDPR/隐私法规
  8. 使用多账号分摊工作负载

Support & Documentation

支持与文档

For implementation support, contact the technical team through the official channels listed above.
如需实施支持,请通过上述官方渠道联系技术团队。