Перейти к содержимому

Как удалить подписчика в телеграмме в канале

  • автор:

Статья Удаление подписчиков из «больших» каналов телеграм

Победитель в номинации 2021

Приветствую. В данной «статье» решил поделиться опытом решения одного интересного кейса.
У меня есть постоянный заказчик, который заказывает удаление подписчиков с достаточно больших каналов. Речь идет о десятках и сотнях тысяч подписчиков, т.к. удалить большие каналы, на которых много подписчиков — нельзя.

Задача кажется тривиальной, и ее решение — простое. Написание небольшого скрипта на Python, который реализует юзер бота. Но тут мы сталкиваемся с ограничением телеграма.
По логике — нужно получить список userId всех участников канала и удалять их поочереди. Но телеграм устанавливает ограничение в 200 запросов, что увеличивает время на выполнение задания.
Я не мастер писать статьи и уроки, потому — сразу к решению.
А оно, как оказалось, не такое и сложное.
Что нам нужно: Получить userId по которому будут удаляться подписчики канала. Для этого мы пишем юзербота на Python с использованием telethon

import asyncio import csv from telethon import TelegramClient # Ваши учетные данные API, полученные при регистрации приложения api_id = api_hash = '' session_name = '' # Подключение к Telegram API client = TelegramClient(session_name, api_id, api_hash) # Ссылка на канал, из которого необходимо получить список пользователей channel_link = '' # Путь к файлу, в который будет сохранен список пользователей csv_file_path = 'D:\projects\delete_bot\config\subscribers.csv' # ID контакта, которому будет отправляться сообщение contact_id = # Функция для получения списка пользователей в канале и сохранения его в CSV-файл async def save_subscribers(): async with client: # Получение объекта канала по ссылке channel = await client.get_entity(channel_link) # Получение списка пользователей в канале users = await client.get_participants(channel) # Запись списка пользователей в CSV-файл with open(csv_file_path, 'w', newline='') as csvfile: fieldnames = ['id'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames) writer.writeheader() for user in users: if user.id != 5951537041: # проверка на ID writer.writerow(< 'id': user.id >) # Отправка сообщения контакту с ID contact_id await client.send_message(contact_id, '/start') async def update_subscribers_loop(): while True: await save_subscribers() # Задержка выполнения на 4 минуты и 20 секунд await asyncio.sleep(260) # Запуск скрипта if __name__ == '__main__': # Запуск бесконечного цикла client.loop.run_until_complete(update_subscribers_loop())

Логика тут проста: нам нужно получить список первых 200 userId, записать их в файл и сохранить его в проект с telegram bot, после чего отправить ему команду /start, при которой срабатывает deleteHandler. Он, в свою очередь, не имеет ограничения на удаление подписчиков с канала.

Telegram bot (не путать с User bot) выполняет функцию удаления подписчиков с канала. Он, в свою очередь, не может получить id подписчиков, потому мы и заморачивались с user bot и сохраняли id подписчиков.

Сам код deleteHandler’a выглядит следующим образом:

 @Override public void onCommandMessage(AbstractTelegramBot bot, Update update, Message message, List list) throws TelegramApiException < Listdata = readCSV("config/subscribers.csv", ","); for (String[] record : data) < UnbanChatMember kickChatMember = new UnbanChatMember(); try < String userIdString = Arrays.toString(record).replaceAll("]", "").replaceAll("\\[", ""); if (!userIdString.equalsIgnoreCase("id") && !userIdString.equals("5951537041")) < Long userId = Long.valueOf(userIdString); kickChatMember.setChatId("-1001198037047"); kickChatMember.setUserId(userId); bot.execute(kickChatMember); System.out.println("User with ID " + userId + " has been kicked from the channel."); >> catch (NumberFormatException e) < System.out.println("Invalid user ID: " + Arrays.toString(record)); >catch (Exception e) < e.printStackTrace(); >> BotUtil.sendMessage(bot, message, "Все удалено", false, false, null); >

Данный метод срабатывает на команду /start, которая прилетает от нашего user bot каждые 4 минуты 20 секунд (именно такое время требуется боту на удаление 200 подписчиков на моем железе), и удаляет поочередно всех пользователей, не затрагивая самого себя.

После процесса выплевывает сообщение, что все юзеры из subscribers.csv удалены.

Надеюсь данная статейка будет кому-то полезна.

Хочу заметить, что данный способ удаления не является истинной, но отлично справляется с возложенными на него задачами.
Советы и исправления касательно кода очень даже приветствуются. Интересно, как бы данный кейс решили вы.

Как удалить участника из чата в Телеграм навсегда

Как удалить участника из чата в Телеграм навсегда? Если в личных сообщениях есть люди, которых нужно исключить, то вот статья, как убрать подписчиков в Telegram.

Приложение Телеграм является одним из самых удобных мессенджеров, где можно делиться своими снимками, новостными статьями, ссылками. Однако не всегда участники чата придерживаются установленных в нем правил. Такого человека всегда можно исключить из разговора. Сейчас мы поговорим о тои, как удалить участника из чата в Телеграм. https://martinismm.com/ — продвижение в Телеграм, ВК и Ютуб — живые подписчики и просмотры недорого и бесплатно.

Если у вас ОС Android, откройте приложение, нажмите на три точки, расположенные в правом верхнем углу. Вы увидите список участников чата. Выберите нужного человека долгим нажатием. Далее вы видите всплывающее окно, где нужно выбрать функцию «Удалить». Не забудьте нажать на подтверждение.

Как удалить подписчика из чата в Телеграм на iPhone и Android

Как удалить участника из чата в Телеграм

Здесь инструкция немного отличается. Открываете Телеграм, выбираете нужный чат, нажимаете на аватар. Перед вами откроется список участников. Можете отметить всех, кого хотите исключить. Далее свайпаете вправо и жмете на кнопку подтверждения.

Помните, что удалить человека из группы имеет право лишь ее создатель или администраторы. Вы как участник этого сделать не сможете. Если вы за компьютером, действия не сильно отличаются. Открываете список участников чата, нажимаете на нужный вам никнейм, подтверждаете.

Ничего сложного в этой процедуре нет, но рассмотрим некоторые нюансы. Если вы сами являетесь этим человеком и не желаете больше находиться в чате по каким-либо причинам, можете выйти из него. Однако важно понимать одну деталь: вы можете покинуть беседу на всех устройствах, которыми пользуетесь и на которых установлено приложение Telegram.

Также если вы являетесь создателем беседы или имеете права администратора, просто так выйти из нее вам не удастся. Сначала передайте их другому участнику, а после можете удалиться самостоятельно либо попросить нового администратора вас исключить.

Важно также то, что человек, который был исключен, обратно добавиться не может. Добавить его обратно имеет возможность только админ группы, отправив ему ссылку-приглашение. Если вы хотите удалиться незаметно, то это у вас вряд ли получится. Ведь в чате моментально появится оповещение о том, что участник вышел из группы.

Если вас интересует накрутка подписчиков Телеграм дёшево, вам стоит обратиться на сервис https://doctorsmm.com/nakrutka-podpischikov-v-telegramm-kanal/. Он зарекомендовал себя с положительной стороны и обладает безупречной репутацией. Его специалисты выполняют работу на высоком уровне качества.

ЕСЛИ ВЫ ЖЕЛАЕТЕ ОКАЗАТЬ ПОДДЕРЖКУ ИНФОРМАЦИОННОМУ ЦЕНТРУ «ЕРКРАМАС», ПРОСИМ ДЛЯ ВЗНОСОВ ВОСПОЛЬЗОВАТЬСЯ РАЗМЕЩЕННЫМИ НИЖЕ РЕКВИЗИТАМИ:
Карта Сбербанка – 4276 3000 2814 4379
QIWI CARD – 4890 4947 6891 1455
Карта Тинкоф – 5534 2000 3633 0587

Исключение подписчика из группы в Telegram в случае неоплаты подписки в GetCourse

С помощью интеграции и процессов внутри GetCourse есть возможность отправлять информацию о подписчике и его заказе из GetCourse в BotHelp, чтобы взаимодействовать с подписчиком через бота. Одним из примеров использования интеграции может быть автоматическое исключение подписчика из закрытой группы в Telegram в случае неоплаты очередной подписки в GetCourse.

Общее описание сценария

Интеграция GetCourse и BotHelp, настроенная по данному сценарию, позволит автоматически исключить ваших подписчиков из закрытых групп или чатов в Telegram, если они не продлили свою подписку в GetCourse.

Допущения в рамках этого сценария:

  • Подписка оформляется на длительный промежуток времени, поэтому настроенный процесс будет запускать вручную в нужный момент
  • Считаем, что подписчик уже состоит в закрытой группе Telegram и ранее оплачивал подписку
  • В вашем кабинете GetCourse уже было создано предложение для первой подписки. Подписчики для оформления первой подписки оформляли заказ на это предложение

Основные этапы процесса:

  1. Подходит срок оплаты очередной подписки на закрытый чат/группу в Telegram
  2. Подписчик по какой-то причине не продлевает подписку
  3. В GetCourse запускается процесс, который проверяет наличие оплаченной подписки у подписчиков
  4. Для всех подписчиков, которые не продлили подписку, из процесса GetCourse запускается специальный бот в BotHelp
  5. Этот бот исключает подписчиков из закрытого чата/группы в Telegram

Настройка воронки в BotHelp

1. Создание и настройка бота

  • Создайте бота для Telegram канала
  • Добавьте блок «Действие»
  • Выберите тип действия «Исключить из группы/канала»
  • Укажите идентификатор Вашей закрытой группы, из которой необходимо удалить подписчика
    • Более подробную инструкци по работе с группами и каналами в Telegram читайте по ссылке

    • При необходимости можно отправить какое-нибудь сообщение или добавить метку
    • В итоге получается вот такой просто бот:

    2. Получение данных для дальнейшей настройки интеграции

    Для дальнейшей настройки интеграции нам понадобится:

    • Получить Ref созданного бота:
      • Останьтесь в текущем открытом окне — редакторе бота
      • Нажмите на кнопку настроек «Шестеренка» в верхнем правом углу
      • Нажмите на подпункт «Настройки»
      • В открывшемся окне разверните «Дополнительные настройки»
      • В самом низу открывшегося окна найдите поле с названием «Ref бота» — это идентификатор этого бота
      • Скопируйте/запишите его — он пригодится позже

      • Получить Ref шага
        • Останьтесь в текущем открытом окне — редакторе бота
        • Перейдите в режим редактирования бота, кликнув на кнопку «Редактировать» в верхнем правом углу
        • Откройте панель редактирования первого шага созданного бота
          • В нашем примере это шаг «Действие 1»

          • Получить BotHelp SecretKey
            • Перейдите в раздел «Настройки» в панели навигации вашего кабинета
            • Откройте владку «Интеграции»
            • Найдите блок GetCourse и нажмите кнопку «Добавить интеграцию»
            • Скопируйте/запишите полученный BotHelp SecretKey — он пригодится позже

            Этапы настройки в GetCourse

            1. Создание продукта

            • Перейдите в раздел «Продажи» — «Продукты» и нажмите кнопку «Добавить продукт»
            • Дайте продукту название
            • Задайте стоимость предложения

            • После сохранения продукта перейдите на кладку «Предложения» и откройте созданное предложение (его название совпадает с названием продукта)
            • Убедитесь, что у предложения активен чекбокс «Завершать заказ автоматически при получении оплаты»
              • В таком случаем для этого предложения заказы будут автоматически переходить в статус «Завершен» после получения оплаты

              2. Создание процесса

              • Перейдите в раздел «Задачи» — «Процессы» и нажмите на кнопку «Создать процесс»
              • Укажите название процесса
              • Тип объекта выберите «Пользователи»
              • В поле шаблон ничего указывать не нужно — вариант «без шаблона»
              • Нажмите на кнопку «Создать»

              3. Настройка процесса

              • В настройках созданного процесса в разделе «Массовое создание задач» выберите пункт «Единоразово после запуска»
                • В таком случае созданный процесс будет запущен только один раз сразу после запуска
                • У пользователя уже есть оплаченная подписка за предыдущий период
                • У пользователя нет оплаченной подписки на текущий период

                4. Создание логики процесса

                • В настройках созданного процесса перейдите на вкладку «Процесс» для дальнейшей настройки логики работы самого процесса
                • Добавьте блок «Операция»
                  • Укажите имя блока
                  • Блок должен работать по Пользователю
                  • Выберите тип операции — «Вызвать URL»

                  • В графе URL необходимо вставить ссылку:

                  https://gc.bothelp.io?domain_name=&token=&email=&phone=&actions[run_bot]=&actions[step_ref]=

                  • ВАЖНО!
                    • В графе domain_name вместо текста необходимо указать домен вашего кабинета в Bothelp. Фигурные скобки <> и знаки процента % нужно удалить. Итоговая запись будет в таком формате: domain_name=mybhaccount
                    • В графе token вместо текста необходимо указать BotHelp SecretKey из настроек интеграции вашего кабинета (см. первый раздел данной инструкции). Фигурные скобки <> и знаки процента % нужно удалить. Итоговая запись будет в таком формате: token=qwerty123456
                    • В графе actions[run_bot] вместо текста необходимо указать Ref бота, в которого нужно добавить подписчика (см. второй пункт данной инструкции). Фигурные скобки <> и знаки процента % нужно удалить. Итоговая запись будет в таком формате: actions[run_bot]=c123456789
                    • В графе actions[step_ref] вместо текста необходимо указать Ref шага бота, на который нужно добавить подписчика (см. второй пункт данной инструкции). Фигурные скобки <> и знаки процента % нужно удалить. Итоговая запись будет в таком формате: actions[step_ref]=f987654321
                    • Пример готовой ссылки:
                    https://gc.bothelp.io?domain_name=mybhaccount&token=qwerty123456&email=&phone=&actions[run_bot]=c123456789&actions[step_ref]=f987654321
                    • Зачем эта ссылка?
                      • С помощью этой ссылки Getcourse отправляет данные о подписчике и типе действия, чтобы BotHelp мог выполнить указанное действие с указанным подписчиком
                      • В этой ссылке указываются необходимые данные о подписчике и действии:
                        • email — это почта подписчика. По ней Bothelp находит конкретного подписчика в своей базе. Это обязательное поле при идентификации подписчика по email
                        • domain_name — название вашего кабинета в Bothelp. По этому полю Bothelp понимает, в каком именно кабинете искать подписчика с такой почтой. Это обязательное поле
                        • token — это секретный ключ вашего кабинета BotHelp, который обеспечивает безопасность работы интеграции. Это обязательное поле
                        • phone — телефон подписчика. По нему Bothelp также может найти конкретного подписчика в своей базе, если по почте находится несколько подписчиков. Это необязательное поле
                        • actions[run_bot] и actions[step_ref] — параметры, которые обозначают команду «Добавить в бота на определенный шаг». В значении параметров указываются идентификаторы бота и его шага, на который нужно добавить подписчика.
                          • actions[run_bot] — обязательное поле
                          • actions[step_ref] — необязательное поле. Если этого параметра нет, то бот для подписчика будет запущен с шага Старт

                          • Готово! На вкладке «Общее» создаваемого процесса активируйте чекбокс «Одобрено»
                          • По готовности нажмите большую зеленую кнопку «Запустить» — процесс запустится и выполнится один раз.

                          Если вы не нашли ответ на свой вопрос, задайте его нам в чате внутри кабинета либо напишите на hello@bothelp.io ��

                          Получите 14 дней полного функционала платформы для создания рассылок, автоворонок и чат-ботов BotHelp:

                          Как заблокировать или разблокировать участника группы или канала в Telegram

                          С помощью чат-ботов Telegram вы можете заблокировать или разблокировать участника группы или канала. К примеру, вы можете заблокировать участников группы, от которых не поступила оплата за заказанный товар или услугу.

                          Заблокировать или разблокировать участников вы можете только в тех группах и каналах, где ваш чат-бот является администратором. Вы не можете заблокировать или разблокировать владельца группы или канала.

                          Содержание

                          Какие существуют группы и каналы в Telegram

                          В Telegram вы можете создать группу и канал. Группы и каналы могут быть частными и публичными. Дополнительно для частных групп вы можете включить историю чата — таким образом новые пользователи могут прочитать всю историю сообщений.

                          В зависимости от типа группы или канала, блокировка и разблокировка работает разными способами.

                          В таблице рассмотрим основные отличия групп и каналов Telegram.

                          Особенность Частная группа с выключенной историей чата Частная группа с включенной историей чата Публичная группа Частный канал Публичный канал
                          Публикация сообщений могут публиковать все участники, сообщения подписываются именем участника группы может публиковать только администратор, сообщения подписываются названием канала или настроенной подписью администратора
                          Доступ к профилям других участников участники могут видеть профили друг друга участники не могут видеть профили друг друга
                          Уведомления о новых участниках отображаются для всех участников отображаются только для администратора
                          История сообщений для новых участников закрыта доступ к сообщениям с момента создания группы или канала
                          Типы ссылок ссылка-приглашение вида https://t.me/+a12bcEd3F45gH67i : постоянная, временная или с ограничением на число использований публичная ссылка вида t.me/group_name или ссылка-приглашение вида https://t.me/+a12bcEd3F45gH67i : временная или с ограничением на число использований ссылка-приглашение вида https://t.me/+a12bcEd3F45gH67i : постоянная, временная или с ограничением на число использований публичная ссылка вида t.me/channel_name или ссылка-приглашение вида https://t.me/+a12bcEd3F45gH67i : временная или с ограничением на число использований
                          Поиск недоступна в поиске недоступна в поиске доступна в поиске недоступен в поиске доступен в поиске

                          Как изменить тип группы и канала в Telegram

                          Чтобы изменить тип группы в Telegram, перейдите к настройкам вашей группы. В мобильном приложении нажмите на иконку группы в правом верхнем углу и выберите «Изменить». В десктопной версии приложения нажмите на три точки в правом верхнем углу и выберите «Управление группой».

                          Нажмите «Тип группы». Для типа «Частный» вы увидите ссылку-приглашение, которую можно отправлять пользователям. Для типа «Публичный» введите ссылку, по которой пользователи смогут перейти или найти группу в поиске.

                          Чтобы включить историю чата для частной группы, в настройках вашей группы нажмите «История чата» и выберите «Видна».

                          Чтобы изменить тип канала в Telegram, в настройках вашего канала нажмите «Изменить» и выберите «Тип канала». Для типа «Частная» вы увидите ссылку-приглашение, которую можно отправлять пользователям. Для типа «Публичная» введите ссылку, по которой пользователи смогут перейти или найти канал в поиске.

                          Как заблокировать участника группы или канала Telegram

                          Перетащите элемент «Действие» с левой панели в рабочую область. Соедините его с элементом, после выполнения которого нужно заблокировать участника. В нашем примере это «Фильтр».

                          Укажите действие «Заблокировать в группе или канале» и выберите группу или канал из списка.

                          Как работает блокировка для группы и канала в Telegram

                          Частная группа

                          Заблокированные участники частной группы не будут удалены из группы, но не будут видеть новые сообщения от других участников, не смогут больше отправлять сообщения в группу или найти группу в поиске. Они смогут зайти в такую группу по ссылке-приглашению.

                          Частная группа с включенной историей чата

                          Заблокированные участники частной группы с включенной историей чата будут удалены из группы и не смогут зайти по ссылке-приглашению или найти группу в поиске.

                          Публичная группа

                          Заблокированные участники публичной группы будут удалены из группы, не смогут зайти по публичной ссылке или ссылке-приглашению. Они смогут найти группу в поиске, но не смогут на нее подписаться.

                          Частный канал

                          Заблокированные участники частного канала будут удалены из канала и не смогут зайти по ссылке-приглашению или найти канал в поиске.

                          Публичный канал

                          Заблокированные участники публичного канала будут удалены из канала, не смогут зайти по публичной ссылке или ссылке-приглашению. Они смогут найти канал в поиске, но не смогут на него подписаться.

                          Как разблокировать участника группы или канала Telegram

                          Чтобы разблокировать участника, укажите действие «Разблокировать в группе или канале» и выберите группу или канал из списка.

                          Рекомендуем добавить блок «Сообщение» с публичной ссылкой или ссылкой-приглашением для входа в группу или канал после действия «Разблокировать в группе или канале», чтобы пользователь мог зайти в него после разблокировки.

                          Как работает разблокировка для группы и канала в Telegram

                          Частная группа

                          Разблокированные участники частной группы смогут зайти в группу по ссылке-приглашению и найти группу в поиске после подписки. Они не смогут просмотреть историю сообщений за тот период, когда были заблокированы.

                          Частная группа с включенной историей чата

                          Разблокированные участники частной группы с включенной историей чата смогут зайти в канал по ссылке-приглашению, найти группу в поиске после подписки, а также просмотреть историю сообщений за тот период, когда были заблокированы.

                          Публичная группа

                          Разблокированные участники публичной группы смогут зайти в группу по публичной ссылке или ссылке-приглашению, найти группу в поиске и подписаться, а также смогут просмотреть историю сообщений за тот период, когда были заблокированы.

                          Частный канал

                          Разблокированные участники частного канала смогут зайти в канал по ссылке-приглашению и просмотреть историю сообщений за тот период, когда были заблокированы, но не смогут найти канал в поиске до подписки.

                          Публичный канал

                          Разблокированные участники публичного канала смогут зайти в канал по публичной ссылке или ссылке-приглашению и просмотреть историю сообщений за тот период, когда были заблокированы, а также найти канал в поиске и подписаться.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *