Если вы решили зарабатывать в Телеге – начните с простого. Простого бота. Простые боты: лайкают, дизлайкают, (помогают общаться с пользователем на языке эмодзи – это смайлики, пальцы вверх и вниз, опросы), позволяют писать комментарии и тем самым повышают конверсию вашего канала.
На заметку: Если вы хотите что-то написать, чтобы никто не видел – нажмите на колокольчик справа, он расположен на одном уровне с полем ввода текстового сообщения. Просто нажмите на колокольчик. Когда он отобразится, перечеркнутый черточкой – пишите и отправляйте. Это останется только между вами и вашим каналом. Конечно, вы можете переслать это “тайное сообщение” кому пожелаете – но только индивидуально в личных сообщениях. Оповещения не придут вашим подписчикам.
Сначала вы с помощью главного бота создаете бота-помощника (своего бота) и потом назначаете его админом своего канала. Но для начала вам нужно место, где вы будете все это делать. Чтобы случайно не отправить сообщение в главном канале, используйте “Ч ат с самим собой”.
Привлекаем подписчиков в Телеграм канал через ботов
Чтобы запустить бота – щелкните на него. Он должен выглдяеть вот так:
Вставьте в строку набора текста (строку чата) сообщение. Например, Виталий написал сообщение про сервис для бизнеса Goodly.pro:
Теперь надо выбрать кнопки-реакции, из серии like/dislike:
Выбирайте кнопки и публикуйте пост. Бот покажет, как будет выглядеть ваша публикация. Это хорошая возможность еще раз проверить отображение текста, вычитать ошибки орфографии и пунктуации и удалить лишние пробелы между словами (или любыми другими символами).
Обратите внимание: выбранные вами кнопки отображаются под текстом сообщения.
Нажмите кнопку “Publish” и будет вам – пост. Но это еще не всё. Бот предложит вам выбрать чат. В строке поиска, расположенной над списком каналов и контактов, напишите название чата, в котором вы хотите разместить этот пост (в предоставленном уроке это чат Goodly.pro).
Что дальше
Осталось совсем чуть-чуть – и мы закончим. Не забудьте проверить, чтобы сообщение видели подписчики. Если колокольчик рядом со строкой чата перечеркнут – нажмите на него, чтобы открыть доступ и тогда подписчики увидят ваш свежий пост.
Пост размещен. Все участники получили сейчас уведомление на телефон о том, что пост размещен. Они заходят, читают и реагируют – лайкают ваши сообщения или наоборот.
На заметку: Побуждайте к действию своих подписчиков. Поставьте лайк первым. Люди будут видеть, что кто-то уже отреагировал и им проще будет взаимодействовать с вашим постом.
Ой, смотрите: Пост Виталия уже лайкнул кто-то еще – это работает!
Много лайков – много интересного
Человек попадает в канал и видит первый приветственный пост. Когда пользователь видит много лайков у него поднимается интерес к вашему каналу. Даже если до этого ему было совершенно не интересно. Общественное мнение, выраженное на языке эмодзи, при помощи значка сжатого кулака с поднятым вверх большим пальцем – творит чудеса. Интерес растет! Конверсия тоже!
На заметку: Вы можете написать незамысловатое “Добро пожаловать” и кратко описать, о чем вы тут рассказываете в своем канале и для кого эта информация может быть полезна.
Источник: kakzarabotat.net
Мониторинг числа подписчиков канала telegram в Zabbix
Хочу поделиться небольшой заметкой на тему мониторинга за объектами популярного мессенджера. Я расскажу, как мониторить число подписчиков в каналах и группах telegram с помощью Zabbix. Благодаря гибкости как заббикса, так и телеграма, сделать это очень просто.
Теоретический курс «Сетевые технологии для системных администраторов» позволит системным администраторам упорядочить и восполнить пробелы в знаниях. Цена очень доступная, есть ознакомительные уроки. Все подробности по ссылке. Можно пройти тест на знание сетей, бесплатно и без регистрации.
Содержание
Введение
Для того, чтобы взаимодействовать с telegram, вам понадобится свой бот. Я не буду рассказывать, как его добавить, так как делал это в статье про настройку уведомлений из zabbix в telegram. Далее я буду считать, что вы уже создали своего бота и получили его токен.
Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:
- Установка CentOS 8.
- Настройка CentOS 8.
- Установка и настройка zabbix сервера.
То же самое на Debian 10, если предпочитаете его:
- Установка Debian 10.
- Базовая настройка Debian.
- Установка и настройка zabbix на debian.
Переходим непосредственно к настройке мониторинга за подписчиками.
Как получить информацию о подписчиках в telegram
У Telegram отличное api, с помощью которого можно взаимодействовать с мессенджером. Конкретно о числе подписчиков можно узнать с помощью метода getChatMembersCount. В качестве параметра ему нужно передать id чата или имя публичного канала. Покажу на примере своего чата https://t.me/srv_admins и канала https://t.me/srv_admin.
Протестируем запрос на количество подписчиков с помощью curl из консоли сервера мониторинга zabbix.
Получили ответ в формате json. Он отлично подходит для zabbix, так как последний умеет из коробки парсить json. У вас есть 2 варианта дальнейшей настройки мониторинга:
- Сделать скрипт на сервере, который будет слать запросы в api telegram и передавать полученное значение в zabbix с помощью агента. Плюс решения в том, что нагрузка на сервер мониторинга минимальная. Неудобство в том, что нужно куда-то добавлять скрипт.
- Слать запросы к api напрямую с zabbix сервера с помощью HTTP Агента. И сразу там же парсить полученный ответ. Плюс этого подхода в том, что все настройки хранятся в шаблоне и легко сохраняются или переносятся через экспорт шаблона. Минус в том, что все вычисления и запросы выполняются самим заббиксом.
Я обычно иду по второму пути, потому что так удобнее.
Мониторинг подписчиков telegram в Zabbix
Переходим в web интерфейс zabbix-server, создаем новый шаблон и добавляем туда новый item.
В качестве url указано следующее значение:
https://api.telegram.org/bot/getChatMembersCount?chat_id=
Ниже указан Тип информации: Числовой (целое положительное). В предобработке делаем фильтр по JSONPath, чтобы получить числовое значение из json.
Добавляем в шаблон макросы для названий группы и канала, а так же токена бота.
Из основного все. По аналогии делается мониторинг за пользователями группы (чата). Вот пример моего шаблона — zabbix-telegram.xml. Не забудьте указать свои макросы для названий канала, группы и токена бота.
В шаблоне несколько айтемов:
- TG Group — число подписчиков группы, обновляется раз в 10 минут;
- TG Chat — число подписчиков чата, обновляется раз в 10 минут;
- Изменение подписчиков — зависимый элемент данных, фиксирует относительное изменение числа подписчиков группы после каждой проверки;
- Изменения за сутки — сумма значений предыдущего айтема изменение подписчиков за последние 24 часа;
- Подписчики по дням — запускается раз в сутки в 23:59, чтобы зафиксировать количество подписчиков в этот день.
На этом у меня по мониторингу подписчиков телеграм в zabbix все.
Заключение
Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!
Вот так быстро и просто можно добавить мониторинг всего, что угодно, в Zabbix. У меня масса примеров самых разных метрик, за которыми можно наблюдать, несмотря на то, что у них нет каких-то очевидных возможностей интеграции с системами мониторинга. Вот несколько примеров:
- intel raid;
- камеры видеонаблюдения;
- ноды криптовалют;
- openvpn подключения;
и т.д. Больше примеров смотрите в разделе Zabbix.
Онлайн курcы по Mikrotik
- Знания, ориентированные на практику;
- Реальные ситуации и задачи;
- Лучшее из международных программ.
Источник: serveradmin.ru
Телеграм. Как собрать информацию из чатов. Часть 2 Подписчики
Всем привет! Во второй части мы продолжим забирать у «защищенного и дважды зашифрованного» Telegram сервера данные о подписчиках из открытых чатов.
22 августа 2022 (обновлено 05.03.2023) · На чтение: 7 мин Комментарии: 0
Просмотров статьи: 439
Всем привет! Во второй части мы продолжим забирать у «защищенного и дважды зашифрованного» Telegram сервера данные о подписчиках из открытых чатов.
Перед прочтением статьи настоятельно рекомендую ознакомиться с первой частью в ней мы создавали аккаунт разработчика Telegram и настраивали наш проект.
На данном этапе это всего один «.py» файл, настройки и файл сессии. Но, как говорит одна известная мудрость:
Делай хорошо — плохо само получится
Поэтому мы изначально будем делать наш проект как настоящие профи. Модулями
В этой части мы получим подписчиков открытого чата мессенджера и посмотрим, какие же сведения нам отдаст Телеграм
Переходим в PyCharm
Чтобы в дальнейшем не запутаться в нашем коде, мы создадим в директории проекта несколько файлов:
Users.py
links.txt
Весь наш код в этой главе мы будем писать именно в отдельном файле Users.py. Это существенно упростит нам работу в дальнейшем. Поверьте
Давайте импортируем этот файл в наш основной проект, который мы писали в первой части
import Users
Кроме того, для дальнейшей работы с пользователями чата нам понадобятся еще парочка импортов из нашей библиотеки Telethon
from telethon.tl.functions.channels import GetParticipantsRequest from telethon.tl.types import ChannelParticipantsSearch
Еще раз оговорюсь, что все импорты мы производим в нашем основном главном файле, который мы создавали в первой части «Update.py»
Для наглядности и удобства давайте установим в наш проект такую библиотеку как tqdm. Она позволит нам создавать в нашей консоли красивые читабельные Progress Bar ( графическую полоску прогресса нашей выгрузки )
Пишем команду pip install tqdm
Импортируем класс библиотеки в наш проект
from tqdm import tqdm
С импортами пока разобрались. Конечный итог наших импортов в основном файле выглядит так:
import configparser from telethon import TelegramClient import Users from telethon.tl.functions.channels import GetParticipantsRequest from telethon.tl.types import ChannelParticipantsSearch from tqdm import tqdm
У нас остался непонятный нам файл links.txt, который мы с вами будем использовать как хранилище наших ссылок на чаты из которых будем парсить данные но об этом чуть дальше поговорим.
В нашем файле Users.py давайте создадим асинхронную функцию:
async def dump_all_participants(channel, ChannelParticipantsSearch, client, GetParticipantsRequest, tqdm):
Имя функции вы можете выбирать любое, но стоит помнить, что мы с вами учимся делать хорошо. Не пугайтесь аргументов, здесь ничего сложного и страшного нету.
channel— это будет наш чат Телеграм который мы передадим в нашу функцию
ChannelParticipantsSearch и GetParticipantsRequest — это наши импорты которые мы делали выше они же классы библиотеки Telethon которые нам будут нужны в нашей функции.
tqdm — это наша библиотека для progress bar
client — это соответственно наше подключение которое мы создавали в первой части. Без него никак)
Теперь давайте настроим чтение ссылок на чаты из нашего файла links.txt
В нашем главном файле Update.py внутри функции main напишем такой код
async def main(): with open(«links.txt», «r») as f: while True: try: text = f.readline() url = text channel = await client.get_entity(url) await Users.dump_all_participants(channel, ChannelParticipantsSearch, client, GetParticipantsRequest, tqdm) except Exception: pass
Здесь, мы сразу после чтения файла будем вызывать нашу функцию «dump_all_participants» из файла Users.py.
Функция сбора пользователей чата Телеграм
Давайте наполним нашу функцию сбора пользователей кодом
Заходим в файл Users.py где мы создавали нашу функцию dump_all_participants
и пропишем константы для библиотеки Telethon
async def dump_all_participants(channel, ChannelParticipantsSearch, client, GetParticipantsRequest, tqdm): print(‘Сбор по каналу’, channel.title) OFFSET_USER = 0 # номер участника, с которого начинается считывание LIMIT_USER = 200 # максимальное число записей, передаваемых за один раз но не более 200 ALL_PARTICIPANTS = [] # список всех участников канала FILTER_USER = ChannelParticipantsSearch(») # фильтр для определенных пользователей
Фильтром для пользователей нам пользоваться не придется, но объявить и передать его в дальнейшем в качестве аргумента мы должны.
Создадим бесконечный цикл while:
while True: participants = await client(GetParticipantsRequest(channel, FILTER_USER, OFFSET_USER, LIMIT_USER,hash=0))