ТГ бот проверяющий подписку на канал

Содержание

Подробная инструкция о том, как создать бота для предоставления демо-доступа и контроля подписок на приватный канал в Telegram.

Александр Волков
Руководитель отдела разработки программного обеспечения компании «Синимекс»

Telegram набирает популярность не только у пользователей, но и у разработчиков. Многие создают там свои каналы и ботов. В этой статье мы создадим приватный канал с фасадом для него — ботом.

Возможности бота

Через бота можно будет:

  • получить полную информацию о канале;
  • получить демо-доступ на канал. Пользователь в автоматическом режиме получит ссылку на вступление в приватный канал. Через n дней демо-доступа пользователь будет удалён из канала;
  • выдать полный доступ для пользователей. Пользователь сможет отправить данные для получения полного доступа. Данные могут быть проверены как в автоматическом режиме, так и в ручном — самим администратором. По итогам пользователю выдаётся полный доступ.

Дополнительно к этому мы создадим интерфейс на React для управления подписками и сбором аналитики по каналу. Особенность этого решения — простота. Время на его создание — около 4 часов. Все компоненты решения для удобства будут развёрнуты в docker-контейнерах. Схема нашего решения будет выглядеть так:

PYTHON TELEGRAM БОТ проверяет ПОДПИСКУ на ГРУППУ | AIOGRAM TELEBOT

Создание бота

Начнём с самого простого шага — создания бота в Telegram. Для этого достаточно написать команду /newbot боту по созданию других ботов BotFather и следовать инструкциям:

После успешного создания бота вы получите сообщение:

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

Бот для приватного канала с информацией о самых вкусных плюшечках и пирожочках создан. Далее создадим сам канал и добавим туда нашего бота в качестве администратора.

Создание базы данных

Для простоты решения поднимем PostgreSQLв docker-контейнере:

docker network create buns-net docker run -d —network=»buns-net» —name bot-postgres -e POSTGRES_PASSWORD=Pass2020! -p 5432:5432 postgres

Контейнер запущен, БД готова к работе.

Для минимальной аналитики и контроля подписок нам хватит одной таблицы. Заполним её модель и далее в миграции lequibase создадим:

Создание бэкенда

Перейдём на Spring Initializr и сгенерируем каркас бэкенд-приложения. Достаточно выбрать следующие библиотеки:

Развернём сгенерированный проект в среде разработки и добавим туда зависимость для работы с Telegram:

compile «org.telegram:telegrambots-spring-boot-starter:5.0.1»

Также добавим библиотеку для мапинга, которая нам пригодится при мапинге сущностей БД в REST-модели:

compile(«net.rakugakibox.spring.boot:orika-spring-boot-starter:1.9.0»)

Создадим миграцию для таблицы, добавим описание подключения к БД и запустим приложение:

1-add-tables.yaml databaseChangeLog: — changeSet: id: 1-add-tables author: avolkov changes: — createTable: tableName: subscriber columns: — column: name: id type: bigint autoIncrement: true constraints: primaryKey: true nullable: false — column: name: name type: varchar(255) constraints: nullable: true — column: name: login type: varchar(255) constraints: nullable: true — column: name: telegram_id type: varchar(100) constraints: nullable: false — column: name: start_subscribe type: timestamp constraints: nullable: false — column: name: end_subscribe type: timestamp constraints: nullable: false — column: name: type_subscribe type: varchar(50) constraints: nullable: false — column: name: enable type: boolean constraints: nullable: false db.changelog-master.yaml databaseChangeLog: — include: file: db/changelog/1-add-tables.yaml
application.yaml server: servlet: context-path: /api spring: datasource: driver-class-name: org.postgresql.Driver url: jdbc:postgresql://bot-postgres:5432/postgres — при локальной разработке поменять на localhost username: postgres password: Pass2020! jpa: properties: hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect hibernate.globally_quoted_identifiers: true

После успешного запуска приложения накатится миграция и создастся таблица:

Проверка подписки на Телеграм канал

Таблица создана, приложение успешно запустилось. Теперь можно приступить к описанию Data Access Layer. Для этого опишем сущность, репозиторий и сервис:

Подключение к API Telegram

Чтобы можно было получать данные из бота в наше приложение, достаточно унаследовать от абстрактного класса org.telegram.telegrambots.bots.TelegramLongPollingBot и реализовать три метода:

Еще по теме:  Переход по фото в ТГ канале

public String getBotUsername(); // логин бота, который устанавливался при создании бота public String getBotToken(); // токен, полученный при создании от BotFather public void onUpdateReceived(Update update); // метод срабатывает каждый раз, когда боту отправляется сообщение

Добавим в application.yaml данные бота, которые получили от BotFather:

telegram: name: bot_login token: 164024384:AAFHwer2342pVF3zm_wZ45454554JVr_I chanel-id: -1001415979632 — id приватного канала, куда будет даваться доступ

Реализуем поддержку 5 команд:·

  • /info — запрос информации о боте и канале;
  • /start — такая же, как и info. Нужна для первого сообщения с ботом;
  • /demo — получение демо-доступа на канал;
  • /access — запрос на получение информации о полном доступе;
  • /success — запрос на получение полного доступа.

Чтобы всеми этими командами было удобно пользоваться, реализуем их в виде кнопок, используя org.telegram.telegrambots.meta.api.objects.replykeyboard.InlineKeyboardMarkup.

Готово! Теперь бот умеет обрабатывать следующие команды.

Как получить доступ?

Хочу демо-доступ на 3 дня.

После получения демо-доступа информация об этом сохраняется в БД. При повторном запросе на демо-доступ пользователю отобразится ошибка:

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

Чтобы этой командой мог пользоваться только администратор, его Chat ID надо добавить в application.yaml. Далее этот идентификатор будет использоваться при проверке, от кого пришла команда и имеет ли этот пользователь права на выполнение этой команды.

telegram: name: bot_login token: 164024384:AAFHwer2342pVF3zm_wZ45454554JVr_I chanel-id: -1001415979632 — id приватного канала, куда будет выдаваться доступ support: chat-id: 14334538544

Дополнительно к этому требуется реализовать команду выдачи полного доступа. Класс поменяется следующим образом:

Появилась обработка команд от администратора.

Если пользователь отправит сообщение message please, то администратору от бота придет сообщение:

После этого администратор может отправить боту команду на выдачу прав пользователю:

И пользователю от бота придет сообщение:

Таким образом, мы реализовали следующие возможности для пользователя:

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

В свою очередь, у администратора канала появились следующие возможности:

  • проверить предоставляемые пользователем данные для полного доступа и выдать полный доступ;
  • очистить канал от пользователей с истекшим доступом.

Для удобства развёртывания упакуем наше приложение в Docker и развернём. Добавим в build.gradle:

bootJar
FROM openjdk:8-jdk-alpine COPY build/libs/buns.jar buns.jar EXPOSE 8081 ENTRYPOINT [«java»,»-jar»,»/buns.jar»]

Далее выполним следующие команды для создания образа и запуска его в докере:

Создание фронтенда

После того, как мы создали handler для обработки команд бота, хочется визуально контролировать подписки и смотреть графики по приросту подписок в разрезе месяца. Для этого создадим отдельное приложение на React с использованием Ant Design. Выполним команду:

npx create-react-app my-app

После этого у нас будет сгенерировано приложение с минимальной функциональностью. Однако требуется установить ещё несколько библиотек:

После этого основной компонент надо изменить на:

App.js import ‘./App.css’; import < QueryClient, QueryClientProvider >from ‘react-query’ import SubscriberTable from «./SubscriberTable»; import React from «react»; import ‘antd/dist/antd.css’; const queryClient = new QueryClient(); function App() < return > ; > export default App;

И добавить новый компонент:

Дополнительно к этому добавить функции для выполнения запросов:

axiosInstance.js import axios from ‘axios’; const host = process.env.REACT_APP_API_ENDPOINT; export const baseUrl = `http://localhost:8080/api/`; const instance = axios.create(< baseURL: `$`, withCredentials: true, headers: < ‘Cache-Control’: ‘no-store, no-cache, must-revalidate’, Pragma: ‘no-cache’, >, >); instance.defaults.headers.common[‘Accept-Language’] = ‘ru-RU, ru’; instance.interceptors.request.use(config => < return < . config, url: encodeURI(config.url), >; >); export default instance;
subscribersApi.js import * as log from ‘loglevel’; import instance from ‘./axiosInstance’; const SUBSCRIBER_PATH = ‘/subscribers’; const SubscribersApi = < name: ‘SubscribersApi’, async getAll() < return instance .get(`$`, < auth: < username: ‘admin’, password: ‘admin’ >>) .then(response => < log.info(`All Lines`, response); return response.data; >) .catch([]); >, async getStatistic() < return instance .get(`$/stat`) .then(response => < return response.data; >) .catch([]); >, >; export default SubscribersApi;

Это личный проект, аутентификация зашита, можно с ней особо не заморачиваться. Также в бэкенд требуется добавить конфигурацию Spring Security:

В итоге после выполнения команды npm start откроется http://localhost:3000/ с отображением списка подписок и статистикой. Статистику можно выводить в любом разрезе. В текущей реализации показывается, в каком месяце сколько полных подписок было оформлено.

А теперь для удобства упакуем и развернём UI в docker-контейнере. Для этого создадим DockerFile:

Dockerfile FROM nginx:1.19.5 COPY build /usr/share/nginx/html/ COPY nginx.conf /etc/nginx/ RUN chown -R nginx:nginx /var/cache/nginx /etc/nginx/ /var/run/ USER nginx EXPOSE 80 ENTRYPOINT [«nginx», «-g», «daemon off;»]
nginx.conf worker_processes 1; pid /tmp/nginx.pid; events < worker_connections 1024; >http < proxy_temp_path /tmp/proxy_temp; client_body_temp_path /tmp/client_temp; fastcgi_temp_path /tmp/fastcgi_temp; uwsgi_temp_path /tmp/uwsgi_temp; scgi_temp_path /tmp/scgi_temp; include /etc/nginx/mime.types; default_type application/octet-stream; log_format main ‘$remote_addr — $remote_user [$time_local] ‘ ‘$server_name to: $proxy_host [$upstream_addr] «$request» ‘ ‘$status $body_bytes_sent «$http_referer» ‘ ‘»$http_user_agent» «$http_x_forwarded_for»‘; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; >

И выполним команды для сборки и развертывания:

Вывод

Используя Spring Вoot, React и Docker, можно быстро создать небольшую систему для контроля подписок и подписчиков на канале в Telegram. Исходный код двух приложений можно посмотреть здесь и здесь.

Еще по теме:  Звонок Телеграм чере компьютер нет звука

Следите за новыми постами по любимым темам

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

Источник: tproger.ru

Реальный отзыв о vkinst_check_bot в Телеграм — развод или нет?

Скриншот 17 01 2022 142900 - Реальный отзыв о vkinst_check_bot в Телеграм - развод или нет?

Пару дней назад в интернете появилось два телеграмм бота с одним названием, но разными ссылками — vk_inst_check_bot и vkinst_check_bot. Судя по описанию, данные боты дадут вам возможность узнать, кто посещает ваш аккаунт в ВК и Инстарграм, а также другую информацию об этих аккаунтах. В этой статье мы проверим, работают ли данные боты или это просто развод на деньги и подписки.

Проверка Vkinst_check_bot

Чтобы бот vkinst_check_bot начал проверку аккаунта, требуется подписаться на три телеграм канала спонсора.

image 7 - Реальный отзыв о vkinst_check_bot в Телеграм - развод или нет?

Подписавшись на эти каналы, и предоставив ссылку на аккаунт ВК, бот начинает проверку. После небольшого ожидания, бот сообщает что для полной проверки необходимо от 25 минут до нескольких суток. За это время мы не должны отписываться от спонсоров.

image 8 - Реальный отзыв о vkinst_check_bot в Телеграм - развод или нет?

К сожалению, по итогу, бот вам ничего не скинет. Vkinst_check_bot занимается обычной накруткой подписчиков, никакой информации о посещениях он вам не скинет. Лохотрон!

Проверка Vk_inst_check_bot

По сравнению с предыдущим ботом, vk_inst_check_bot требует заплатить 199 рублей, для подключения вечной подписки. После этого вам скинут ссылку на канал выше. По сути вы отдадите деньги просто так, получив лишь фикцию.

image 9 - Реальный отзыв о vkinst_check_bot в Телеграм - развод или нет?

На моем сайте есть огромное количество статей касательно ботов в телеграмм. Все подобные боты являются разводом на деньги и подписки. Поэтому не тратьте свое время!

Стоит ли пользоваться данными ботами: Нет!

Вся изложенная на сайте информация создана лишь для ознакомления и является оценочным суждением. Ни в коем случае не является призывом к совершению определенных действий или совершение финансовых операций.

Источник: biznes-plan-s-nulya.ru

Подписаться на Telegram: на канал, людей, группу и бота

Из статьи Вы узнаете, как подписаться на Телеграм каналы, группы или бота. Мы расскажем, на что подписаться в Телеграмм и можно ли оформить подписку на человека.

Недорогое продвижение Телеграм:

Подписчики — живые на канал, в группу

Просмотры — на посты и видео

Как подписаться на человека в Телеграмм: простой алгоритм

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

Мессенджер предлагает добавлять в подписки группы, чаты, каналы, ботов и людей. Как таковой подписки на пользователя социальная сеть не предполагает. Если Вы ищите ответ на вопрос, как подписаться на человека в мессенджере, то отдельной, предусмотренной для этой функции кнопки нигде не найдёте.

Быстро занять лидирующие позиции в поиске и захватить ТОП можно легко и просто — достаточно приобрести дешёвых просмотров Телеграм и не менее важных подписчиков.

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

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

Чтобы найти собеседника, следуйте простой инструкции:

Как подписаться на человека в Телеграмм: простой алгоритм

  1. Если человек был ранее занесён в контактный лист в мобильном телефоне, и его аккаунт зарегистрирован на тот же номер, то он уже автоматически появится в разделе «Контакты» Вашего Telegram. Вы можете найти его там и нажать на него, чтобы открыть с ним чат.

Данный гайд подойдёт для любых устройств: от компьютеров до телефонов.

Кстати купить подписчиков в Телеграм можно на https://lowcostsmm.com/ru/. Перейдя по ссылке, Вы сможете быстро и недорого пополнить свою группу или канал.

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

Заказать услуги раскрутки недорого можно ниже

100 Подписчиков для канала
открытого (Офферный микс)

Случайные мин.от 100 ед./ макс. до 10000 ед. Запуск от 12 до 24 час.. Средняя скорость Гарантии нет Быстрая техподдержка!

500 Подписчиков для канала
открытого (Офферный микс)

Случайные мин.от 100 ед./ макс. до 10000 ед. Запуск от 12 до 24 час.. Средняя скорость Гарантии нет Быстрая техподдержка!

1000 Подписчиков для канала
открытого (Офферный микс)

Случайные мин.от 100 ед./ макс. до 10000 ед. Запуск от 12 до 24 час.. Средняя скорость Гарантии нет Быстрая техподдержка!

10000 Подписчиков для канала
открытого (Офферный микс)

Случайные мин.от 100 ед./ макс. до 10000 ед. Запуск от 12 до 24 час.. Средняя скорость Гарантии нет Быстрая техподдержка!

100 Подписчиков Живых
(Для открытых/закрытых групп)

Россия мин.от 100 ед./ макс.до 8000 ед. Запуск 10-120 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

500 Подписчиков Живых
(Для открытых/закрытых групп)

Россия мин.от 100 ед./ макс.до 8000 ед. Запуск 10-120 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

1000 Подписчиков Живых
(Для открытых/закрытых групп)

Россия мин.от 100 ед./ макс.до 8000 ед. Запуск 10-120 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

5000 Подписчиков Живых
(Для открытых/закрытых групп)

Россия мин.от 100 ед./ макс.до 8000 ед. Запуск 10-120 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

Еще по теме:  Куда сохраняются gif из Telegram Android

100 Подписчиков Живых
(Для открытого/закрытого канала/группы)

Американские мин. от 100 ед./ макс. до 3000 ед. Запуск 20-180 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

500 Подписчиков Живых
(Для открытого/закрытого канала/группы)

Американские мин. от 100 ед./ макс. до 3000 ед. Запуск 20-180 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

1000 Подписчиков Живых
(Для открытого/закрытого канала/группы)

Американские мин. от 100 ед./ макс. до 3000 ед. Запуск 20-180 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

5000 Подписчиков Живых
(Для открытого/закрытого канала/группы)

Американские мин. от 100 ед./ макс. до 3000 ед. Запуск 20-180 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

100 Подписчиков для канала
публичного/закрытого (Живые!)

РФ мин. от 100 ед./ макс. до 8000 ед. Запуск от 15 до 120 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

500 Подписчиков для канала
публичного/закрытого (Живые!)

РФ мин. от 100 ед./ макс. до 8000 ед. Запуск от 15 до 120 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

1000 Подписчиков для канала
публичного/закрытого (Живые!)

РФ мин. от 100 ед./ макс. до 8000 ед. Запуск от 15 до 120 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

5000 Подписчиков для канала
публичного/закрытого (Живые!)

РФ мин. от 100 ед./ макс. до 8000 ед. Запуск от 15 до 120 мин. Высокая скорость Гарантия 30 дней Активность в виде просмотров постов

100 Подписчиков
для открытого канала (Стандарт)

Хорошее качество мин. от 100 ед./ макс. до 25000 ед. Запуск от 5 — 120 мин. Высокая скорость Гарантия 30 дней Быстрая техподдержка!

500 Подписчиков
для открытого канала (Стандарт)

Хорошее качество мин. от 100 ед./ макс. до 25000 ед. Запуск от 5 — 120 мин. Высокая скорость Гарантия 30 дней Быстрая техподдержка!

1000 Подписчиков
для открытого канала (Стандарт)

Хорошее качество мин.100 ед./ макс.25000 ед. Запуск от 5 — 120 мин. Высокая скорость Гарантия 30 дней Оплата в пару кликов!

5000 Подписчиков
для открытого канала (Стандарт)

Хорошее качество мин. от 100 ед./ макс. до 25000 ед. Запуск от 5 — 120 мин. Высокая скорость Гарантия 30 дней Быстрая техподдержка!

1000 Просмотров 1 на пост
(Временная Акция!)

Низкое качество мин.1000 ед./ макс.1000 ед. Запуск 1-3 час. Низкая скорость Гарантии нет Оплата в пару кликов!

3000 Просмотров 1 на пост
(Временная Акция!)

Низкое качество мин.3000 ед./ макс.3000 ед. Запуск 1-3 час. Низкая скорость Гарантии нет Оплата в пару кликов!

5000 Просмотров 1 на пост
(Временная Акция!)

Низкое качество мин.5000 ед./ макс.5000 ед. Запуск 1-3 час. Низкая скорость Гарантии нет Оплата в пару кликов!

10000 Просмотров 1 на пост
(Временная Акция!)

Низкое качество мин.10000 ед./ макс.10000 ед. Запуск 1-3 час. Низкая скорость Гарантии нет Оплата в пару кликов!

100 Просмотров
на пост (Боты)

Микс мин.100 ед./ макс.3000 ед. Запуск 3-6 час. Низкая скорость Гарантии нет Оплата в пару кликов!

500 Просмотров
на пост (Боты)

Микс мин.100 ед./ макс.3000 ед. Запуск 3-6 час. Низкая скорость Гарантии нет Оплата в пару кликов!

1000 Просмотров
на пост (Боты)

Микс мин.100 ед./ макс.3000 ед. Запуск 3-6 час. Низкая скорость Гарантии нет Оплата в пару кликов!

3000 Просмотров
на пост (Боты)

Микс мин.100 ед./ макс.3000 ед. Запуск 3-6 час. Низкая скорость Гарантии нет Оплата в пару кликов!

100 Просмотров
(на 1 пост, Стандарт)

Рандомные мин.100 ед./ макс.50000 ед. Запуск 0-1.5 час. Высокая скорость Стабильные Оплата в пару кликов!

300 Просмотров
(на 1 пост, Стандарт)

Рандомные мин.100 ед./ макс.50000 ед. Запуск 0-1.5 час. Высокая скорость Стабильные Оплата в пару кликов!

500 Просмотров
(на 1 пост, Стандарт)

Рандомные мин.100 ед./ макс.50000 ед. Запуск 0-1.5 час. Высокая скорость Стабильные Оплата в пару кликов!

1000 Просмотров
(на 1 пост, Стандарт)

Рандомные мин.100 ед./ макс.50000 ед. Запуск 0-1.5 час. Высокая скорость Стабильные Оплата в пару кликов!

Если Вы хотите получить ещё больше полезной информации о социальных сетях, научиться самостоятельно использовать все их фишки, тогда переходите на сайт Avi1.ru.

Как подписаться на Телеграм канал на айфон и с компа

Если в мессенджере не предусмотрено специальной кнопки, чтобы подписаться на пользователя, то для каналов и сообществ функция подписки имеется. Мы расскажем, как подписаться на канал в Телеграм.

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

На айфоне всё делается так же легко:

Как подписаться на Телеграм канал на айфон и с компа

На андроиде и любых других смартфонах всё делается идентичным способом, поэтому нет смысла уделять им отдельное внимание.

Кстати, подписаться на канал можно и по специальной ссылке. Если Вы нашли её на сторонних ресурсах или администратор сообщества предоставил её Вам, тогда нажмите на неё;

  1. Вы будете перенаправлены в приложение мессенджера на Вашем телефоне или ПК. Чтобы это сработало, необходимо установить Telegram на телефон или компьютер;
  2. Попав в мессенджер, Вы окажетесь в чате канала. Чтобы подписаться на него, нажмите на соответствующую кнопку внизу экрана.

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

Рейтинг
( Пока оценок нет )
Загрузка ...