Loading...
Loading...
Automate WhatsApp mass messaging, group marketing, and TikTok/Instagram follower extraction for targeted outreach campaigns
npx skill4agent add aradotso/marketing-skills whatsapp-mass-sender-group-marketingSkill by ara.so — Marketing Skills collection.
# Official website for system access
https://www.facebook18.com
# Technical support and documentation
https://sites.google.com/view/facebook-script-custom/
https://sites.google.com/view/instagram-keyword-hashtag-lead/# .env file
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:8080import os
from whatsapp_marketing import MassSender
# Initialize sender
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
)# Send to multiple WhatsApp groups
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
)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
}
)
# Save to CSV
extractor.export_to_csv(competitor_followers, 'leads.csv')# 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
)
# Filter by demographics
filtered_leads = extractor.filter_by_demographics(
users=hashtag_leads,
criteria={
'age_range': [18, 35],
'gender': 'any',
'location': ['US', 'UK', 'CA']
}
)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
)
# Extract followers from competitor profile
competitor_followers = tiktok.get_profile_followers(
username='competitor_username',
max_followers=10000
)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 🚀'
)
# Start automated engagement
bot.run_campaign(campaign)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')
})
# Rotate accounts for actions
manager.distribute_actions(
action_type='follow',
targets=competitor_followers,
actions_per_account=100
)# 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()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'
)
# 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()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
)
# 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)# Use rotating proxies
from proxy_rotator import ProxyPool
proxy_pool = ProxyPool([
'http://proxy1.example.com:8080',
'http://proxy2.example.com:8080',
'http://proxy3.example.com:8080'
])
extractor = FollowerExtractor(
username=os.getenv('INSTAGRAM_USERNAME'),
password=os.getenv('INSTAGRAM_PASSWORD'),
proxy_pool=proxy_pool,
rotate_every_n_requests=50
)# Handle session expiration
try:
followers = extractor.get_followers('target_account')
except SessionExpiredError:
extractor.refresh_session()
followers = extractor.get_followers('target_account')# Export to multiple formats
from exporters import DataExporter
exporter = DataExporter()
# CSV export
exporter.to_csv(leads, 'leads.csv', columns=['username', 'followers', 'email'])
# JSON export
exporter.to_json(leads, 'leads.json')
# CRM integration (example: HubSpot)
exporter.to_crm(
leads,
crm='hubspot',
api_key=os.getenv('HUBSPOT_API_KEY'),
custom_fields={'lead_source': 'Instagram Competitor Scrape'}
)