Managing your users and their subscriptions
As the owner of a BuddyPro instance, you have several useful commands that allow you to retrieve information about your paying (and trial) users and manage their access or messages.
23.0: Overall statistics and analytics
As an owner (owner) or team member, use the /stats command. This command displays a summary report that includes a USER ANALYTICS section with key metrics:
Total users: total number of users (excluding owner and team).Active subscriptions: number of users with active paid subscriptions.Currently on trial: The number of users who are currently on trial (or have completed the trial and have not purchased a plan).Avg used trial messages per user: The average number of messages used by users in a trial.Avg AI cost per trial user: average cost per user in the trial.
This command is ideal for getting a quick snapshot of the health and growth of your user base.
New /stats metric: Average monthly cost per user
We have added a new value to the /stats command:
- Average monthly cost per active user
This metric shows you the average AI cost per user with an active subscription.
ℹ️ How it’s calculated:
- only users with an active subscription for at least 7 days are included,
- the calculation is monthly and should be treated as approximate,
- the metric has been available since August 11, 2025.
23.1 How do I get detailed information about a specific user and their subscription?
If you need to find out details about a specific paying user (for example, their subscription status, next payment date, or how many messages they have left), use the command:
/getInfoAboutUser:{subscriptionId}
{subscriptionId}: This is the unique identifier of that user's subscription in your payment system.- If you use Stripe,
{subscriptionId}is the ID of the subscription in Stripe subscriptions. You can find it in the Stripe Dashboard. - If you use FAPI,
{subscriptionId}is the ID of that user' s recurring invoice. You can find it in your FAPI account in the Recurring Invoice Templates section.
- If you use Stripe,
What information will this command show you? The command will typically provide an overview of:
- Subscription status (e.g., active, cancelled, payment issue).
- The date of the next scheduled billing/renewal of the subscription.
- The current number of messages remaining within its monthly limit.
- The number of remaining extra messages (if he has purchased any in the package).
- Information about the plan used.
- His payment and activation history.
This command is very useful for resolving queries from clients about their account or for investigating any issues with their subscription.
23.2 How to deactivate a subscription or a user's access to your AI instance?
There may be situations where you need to immediately terminate a user's access to your AI Expert (e.g. at their request, when they violate the terms and conditions, or if you are refunding their subscription). This is what the command is for:
/disableUser:{subscriptionId}
- Again, use
{subscriptionId}from your payment system (subscription ID from Stripe, periodic invoice ID from FAPI, etc.).
This command will immediately terminate that user's active subscription in BuddyPro and prevent them from sending further messages to your AI instance.
⚠️ VERY IMPORTANT NOTICE: if you are refunding a user for their subscription directly in your payment system, you must ALWAYS use this /disableUser command in BuddyPro as well if you want to stop their subscription! Simply refunding the invoice does not automatically terminate the user's access to AI in BuddyPro. Without using /disableUser, the user could continue to use the service even if you refunded them.
The BuddyPro platform attempts to automatically deactivate users if their recurring subscription payment repeatedly fails and is not paid on time, but for manual intervention this command is necessary.
23.3 How do I add bonus (extra) messages to a user beyond their plan?
If you want to add a certain number of extra messages to a paying user (e.g. as a reward, compensation or for special purposes), which will not expire and will only be used after their standard monthly limit has been exhausted, use the command:
/giveExtraMessages:{subscriptionId}:{extraMessages}
{subscriptionId}: The user's subscription identifier (see above).{extraMessages}: The number of extra messages you want to add to the user (e.g.50,100).- You can also enter a negative value here (e.g.,
20) if for some reason you need to remove the extra messages from the user (e.g., if you accidentally added them earlier).
- You can also enter a negative value here (e.g.,
23.4 Manual management of trial messages for existing (but not yet paying) users
These commands are used to adjust the number of trial messages for users who are either in a trial period or whose trial period has expired but have not yet purchased a paid subscription. For example, if you want to extend a trial for a loyal fan or provide more messages for more thorough testing.
To use these commands, you need to know the unique Telegram ID of the user ({userId}).
-
How do I find out the
{userId}? The easiest way is to ask the user to type and send a command in a chat with your AI instance:/myidYour AI instance will then display his
{userId}. Request this ID from him. -
Commands for managing test messages:
/setTrialMessages:{userId}:{count}- Sets the new total number of trial messages for the user with the given
{userId}to{count}. If he had any trial messages before, this value overrides them. - Only works for users who have never started a subscription before.
- Sets the new total number of trial messages for the user with the given
/addTrialMessages:{userId}:{count}- Adds the specified number
{count}of trial messages to the current trial message balance of the user with the given{userId}. - If you want to remove trial messages, you can use a negative number for
{count}here. - Again, this only works for users who have not yet paid.
- Adds the specified number
23.5 Tracking the usage of your invitation codes
If you use specific invitation links generated by the /generateBuddyProInvite command (see Section 20.6) to acquire new users, you can track their success rate. Use the command:
/checkInvite:{code}
{code}: Enter the exact 7-digit code of the invitation whose statistics you want to display (the one you defined or that BuddyPro generated for you).
What does the command show you?
- The total number of times this particular invitation was used (how many users came through it).
- How many of those users subsequently purchased a paid subscription (conversion rate).
- How many users from this invitation are currently still in the trial period.
- The average number of messages that users from this invitation have used during their trial.
- The average AI cost per user in the trial coming through this invitation.
This command is very useful for evaluating the effectiveness of your different marketing campaigns, affiliate partners, or different types of trial offers.
23.6 Overview of used invites
In addition to the /checkInvite:{code} command, which checks a specific invite code, you now also have:
/listInvites
This command lists all invite codes that have been used by two or more people.
For each invite, you can also see how many of those users activated a subscription.
👉 This makes it easy to identify which invite links are the most effective and actually convert into paying users.
23.7 Invite Rewards (Referral Program)
BuddyPro owners can set up an invite reward system that motivates users to invite their friends. When a user invites someone through their invite link and the invited person joins, both can receive bonus messages as a reward.
- Inviter (the person who shared the link) — receives bonus messages as a thank-you for bringing in a new user (extra messages, or trial messages if still on trial)
- Invitee (the invited person) — receives bonus messages as a welcome gift
Setting up rewards
Command:
/setInviteReward:{inviterMessages}:{inviteeMessages}:{trigger}
Parameters:
- inviterMessages — number of bonus messages (integer, 0 = no reward)
- inviteeMessages — number of bonus messages (integer, 0 = no reward)
- trigger — when the reward is granted:
trial— when the invitee starts a free trialpaid— when the invitee activates a paid subscriptionboth— on both events (reward is granted twice — once on trial, once on payment)
Examples:
/setInviteReward:20:10:paid
Inviter gets 20 messages, invitee gets 10 — only when the invitee pays for a subscription.
/setInviteReward:10:5:both
Both receive a reward on trial and on payment. Inviter gets 20 total, invitee gets 10 total.
/setInviteReward:15:0:trial
Only the inviter gets 15 messages, and only when the invitee starts a trial.
Limiting invites per user
Command:
/setPersonalInviteLimit:{limit}
Sets the maximum number of people a single user can invite through their personal invite link. The limit applies retroactively to existing invite links as well.
- Setting
0removes the limit (unlimited invites).
Examples:
/setPersonalInviteLimit:5
Each user can invite up to 5 people. The limit is also updated for all existing invites.
/setPersonalInviteLimit:0
Removes the limit — users can invite without restriction.
Important details
- Each reward is granted only once per trigger type — never more than once per event
- When a paid subscription is activated, both users receive a notification from Buddy about the bonus. When a trial starts, only the inviter gets notified — the invitee does not receive a notification (the bonus is added automatically)
- The cost of these notification messages is charged to the BuddyPro owner's account, not the user's
- Bonus messages do not expire
- For users on trial, the bonus is added to their trial messages. For paying users, the bonus is added as extra messages beyond their subscription
23.8 Extended user activity statistics
BuddyPro now provides an extended overview of subscriber activity using the command:
/stats
This command no longer shows only basic information. It now includes daily, weekly, and monthly user activity (active rate).
What you can see in the statistics:
- number of active users per day
- number of active users per week
- number of active users per month
- an overview of overall subscriber activity over time
These statistics help you to:
- better evaluate user engagement
- track the impact of changes in onboarding or content
- optimize pricing plans and communication
- make informed decisions about the future development of your BuddyPro instance
ℹ️ Note:
The
/statscommand is intended primarily for BuddyPro instance owners. It serves as an analytical tool for long-term management and growth of your AI expert.