Switch your paid Telegram group to KickThemBot

Everyone stays.
Only the bot changes.

No rejoin links to send. Everyone keeps the time they paid for.

Free for 5 members, so you can rehearse the move first.

@KickThemBotSample

Sample: an admin sends members.csv to @KickThemBot. The bot answers Importing memberships, then its import summary: 212 rows read, 204 created, 8 skipped, 7 of them expired or inactive, and one row error naming a plan that does not exist yet.

Four steps. One evening.

  1. Set up KickThemBot

    Start free in @KickThemBot, create your bot and add @KickThemBot to your group as an admin. Connect the Stripe account your members already pay into, and name your plans exactly as they are named today.

  2. Send one file

    Export your members from your current tool. In @KickThemBot, open your project, choose Import / export memberships, pick CSV or ZIP, and send the file.

  3. Move your sales link

    Put your KickThemBot link wherever you sell today: your bio, your pinned post, your website. New members pay you there.

  4. Retire the old bot

    Remove the old bot's admin rights, so one system decides who stays. Before you close the old account, check that closing it will not cancel subscriptions in your Stripe.

Their place, their time, their plan.

Every member with time left
Matched by their numeric Telegram ID. They are already in your group, so nobody rejoins.
Their end dates
Each member keeps the end date they paid up to, read from your file or, for card subscriptions, from Stripe.
Their plans
A CSV joins each row to your plan by its name. A supported ZIP export creates any missing plans for you, up to your plan limit.
Card renewals
Subscriptions billed through your own Stripe keep renewing once you connect that account, and each renewal extends access. Each Stripe row needs its sub_… ID.

Only what already ended.

Expired, cancelled, revoked and unpaid rows are skipped, and nothing about them is stored.

No surprises after you hit send.

telegramUserId,planName,endAt
100000001,Monthly,2026-10-14
100000002,Yearly,2027-03-02
A file that works. telegramUserId is the one required column; planName and endAt carry each member's plan and end date.

The file

Telegram IDs, not usernames
Every row needs the member's numeric Telegram ID. A username alone matches no one.
Dates
2026-10-14 reads the same everywhere. For dates like 03/04/2027, the bot asks whether the day or the month comes first, and a file that mixes both is sent back.
Up to 5,000 rows
One CSV holds up to 5,000 rows and 5 MB. Split a longer list into more files.
Up to your member limit
Import as many active members as your plan holds: 5 on Fresh, 25 on Bouncer, 50 on Boss, 800+ on Empire. Rows over it are listed, not lost.
ZIP exports
Only the primary owner can import a ZIP. It takes up to 5 MB and 25,000 rows across its files.

After you send it

Questions first, then a receipt
Before writing anything, the bot asks about unclear dates and about members with no end date, who would otherwise keep access for good. Then it lists what it created, updated and skipped, with the first errors by row.
Safe to send again
Fix a row, or upgrade, and send the same file again. Members already imported are updated, never duplicated.
Stripe rows, all or nothing
If any Stripe row is missing its sub_… ID, nothing imports, so a list never moves halfway.
Reminders come from your bot
Telegram lets a bot message only people who have opened it. After the import you get a button to share your bot in the group, and the bot tells you who a reminder could not reach.

Still comparing bots? Read the buyer's guide

Move five members first.

Free for five. Then send the whole file.

Moving a very large group, or several for clients? Custom plans include migration support. Email us