Managing a Telegram community can feel like trying to keep a flock of birds in formation. Members join, leave, forget to follow your announcement channel, or miss important events. The manual work required to keep everything in sync quickly becomes overwhelming, especially as the group scales beyond a few hundred users.
If you’re already using AI GroupButler (AIGB) for moderation, you already have a powerful automation engine at your fingertips. In this tutorial we’ll explore three practical use cases for the “signup list” feature that comes with the platform:
- Verifying that new members follow a designated channel.
- Assigning role‑based access to sub‑communities.
- Registering participants for Web3‑focused events and token drops.
By the end of the guide you’ll have a clear, step‑by‑step plan for turning a chaotic group into a self‑servicing, data‑driven community.
Why Signup Lists Matter in Telegram
Telegram does not expose native tools for checking whether a user follows a specific channel, nor does it let you segment members by interest without a lot of custom code. This gap leads to two common pain points:
- Spam and low‑quality joins – Anyone can join, and without verification you risk bots or scammers flooding the chat.
- Lost engagement – You assume every member sees your announcements, but a sizable percentage may have unsubscribed, reducing the impact of every broadcast.
A signup list solves both problems by giving you a reliable source of truth: a list of users who have performed a required action (following a channel, selecting a role, registering for an event). Because the list lives inside AIGB’s dashboard, you can export it, query it via the API, or use it as a target for scheduled messages.
Use Case 1: Automated Channel Follow Verification
The Challenge
Your community’s main announcements live in a separate channel, @my_announce. New members often skip that step, meaning they miss updates, promotions, or critical security notices. Manually checking each user is impossible once you have more than a few dozen members.
The Solution
AIGB lets you turn the “follow channel” requirement into an automated workflow that populates a signup list of verified followers.
Step‑by‑Step Setup
-
Log in to the web panel – Visit
gensi.space/upaneland sign in with your admin credentials. - Open the “Protection Add‑ons” section – Locate the toggle labeled Channel Follow Enforcement.
- Enable the toggle – By default it is off to avoid accidental bans. Turn it on when you’re ready.
-
Specify the target channel – Enter
@my_announcein the provided field. -
Define the consequences – Choose from the following options:
- Send a reminder – The bot whispers a polite message asking the user to join the channel.
- Kick after 24 h – If the user still hasn’t followed, they are removed (or moved to a quarantine group).
Once enabled, every new join triggers the following logic:
# Simplified representation of the AIGB decision engine
def handle_new_member(user_id):
if follows_channel(user_id, "@my_announce"):
add_to_list("verified_followers", user_id)
else:
send_message(user_id, "Please join @my_announce to stay in the group.")
schedule_task(86400, recheck_follow, user_id) # 24‑hour re‑check
def recheck_follow(user_id):
if not follows_channel(user_id, "@my_announce"):
ban_user(user_id, reason="Did not follow required channel")
else:
add_to_list("verified_followers", user_id)
The verified_followers list now contains only users who have confirmed they are receiving your announcements. You can export this list to a CSV file for analytics, or use it directly in broadcast campaigns.
Use Case 2: Role‑Based Access with “Signup Tags”
The Problem
Your community covers multiple topics—Python, Rust, DevOps, NFT art, etc. Sending every announcement to everyone creates noise, and members quickly disengage when they see irrelevant content.
The Solution
Create a separate signup list for each interest tag. When a user declares an interest, the bot adds them to the appropriate list, and you can later broadcast only to that segment.
Implementation Guide
-
Define the keywords – In the panel, under Role Keywords, add entries such as
python,rust,devops. These will be used by the AI to detect intent. -
Set up the role command – The bot listens for
/role <keyword>messages. Example:
@groupbutleraibot /role python
The bot replies with a confirmation and adds the user to the internal list:python.
- Automate detection (optional) – Enable the “Keyword Auto‑Assign” feature. When a user’s first message or bio contains a defined keyword, the bot automatically adds them to the corresponding list.
-
Broadcast to a list – In the dashboard, create a Scheduled Push and select the target list (e.g.,
list:python). Only members of that list receive the message.
Benefits
- Higher relevance – Users only see content that matches their interests.
- Improved retention – Less noise translates to longer active membership.
- Simple analytics – Each list can be measured for growth, engagement, and conversion rates.
Use Case 3: Web3 Event Registration and Token Drops
The Scenario
You are running a crypto project that wants to reward early supporters with a USDT or USDC airdrop. To keep the process fair, you need a signup list that verifies eligibility, prevents duplicate entries, and integrates with a payout script.
End‑to‑End Workflow
| Step | Action | Result |
|---|---|---|
| 1 | Pin a registration message with /register
|
Users who type the command are added to registration_pending. |
| 2 | Run the channel‑follow check (Use Case 1) | Users who also follow the project’s official channel are moved to qualified_participants. |
| 3 | Run a random draw using an external script that reads qualified_participants. |
The script selects a winner ID. |
| 4 | Verify the winner is still in qualified_participants. |
Prevents last‑minute opt‑outs or bans. |
| 5 | Trigger the payout API (USDT/USDC) using the winner’s stored wallet address. | Funds are transferred securely. |
Code Sketch for the Draw
import random
from aigb_api import get_list_members, remove_from_list, add_to_list
def run_airdrop_draw():
candidates = get_list_members("qualified_participants")
winner = random.choice(candidates)
# Double‑check eligibility
if winner not in get_list_members("qualified_participants"):
raise Exception("Winner no longer eligible")
# Record the win
add_to_list("airdrop_winners", winner)
remove_from_list("qualified_participants", winner)
# Call external payout service (pseudo‑code)
payout_to_user(winner, amount=10, token="USDT")
return winner
Security Tip
Because token payouts involve real money, enable Anti‑Spam Filter in the panel. The AI will flag accounts with low activity, suspicious usernames, or known bot patterns, reducing the chance that a bot wins the airdrop.
Bringing It All Together
Signup lists are more than just a way to keep track of who has done what—they’re a foundation for data‑driven community management. By combining the three use cases above you can create a virtuous cycle:
- Verification ensures every member is a legitimate follower.
- Segmentation delivers targeted content that keeps members engaged.
- Event registration turns engagement into tangible rewards, encouraging further participation.
All of these workflows live inside the same AIGB dashboard, share the same API endpoint, and can be monitored through a single log view. The result is a lean, automated system that scales from a handful of users to tens of thousands without additional code.
Disclosure: drafted with AI assistance by the AIGB team and human-reviewed. AIGB is our product - bias disclosed.
Top comments (0)