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

Как сделать юзербота в телеграм

  • автор:

Как сделать юзербота в телеграм

  • Введение
  • Что такое Telegram юзербот
  • Почему нужен юзербот и что он может делать
  • Как начать программирование юзербота для Telegram
  • Примеры юзерботов для Telegram и их функциональности
  • Советы по разработке, отладке и эксплуатации юзербота
  • Заключение
  • Отправка сообщений в определенное время;
  • Изменение никнейма в чатах;
  • Создание и управление каналами;
  • Получение информации из веб-сайтов через HTTP-запросы;
  • Оповещение о новых постах в социальных сетях.
  • SpammerBot SpammerBot – это юзербот, который позволяет отправлять одно и то же сообщение во все чаты, в которых есть доступ у бота. Это может быть полезно в случае, когда необходимо быстро донести информацию до всех пользователей.
  • UserDetailsBot UserDetailsBot – это юзербот, который позволяет получить информацию о пользователе Telegram. Бот умеет выводить информацию о пользователе, такую как имя пользователя, идентификатор пользователя, фотографию пользователя и т.д.
  • ImageBot ImageBot – это юзербот, который позволяет создавать редактируемые изображения в Telegram. Бот умеет обрабатывать и изменять изображения, добавлять на них текст и другие элементы.
  • Не используйте юзербота для выполнения незаконных действий или проведения кибератак.
  • Проверяйте все запросы на предмет ошибок и обрабатывайте их.
  • Используйте логгирование для отслеживания работы юзербота и поиска ошибок.
  • Помните, что Telegram может изменить свой API и некоторые методы могут перестать работать.
  • Генерируйте токены доступа (API ключи) для всех приложений и сервисов, с которыми работает юзербот.

Пишем свой UserBot для Telegram

Всех приветствую! Сегодня мы будем писать свой user-bot (писать будем на моём любимом языке программирования Python).

Огромное спасибо @North_commandef за предоставленный материал!

В качестве редактора я буду использовать PyDroid 3 на Андроид, логично :3

Для начала установим библиотеку telethon:

pip install Telethon

Дальше переходим к написанию самой программы.

Сначала импортируем нужные библиотеки:

from telethon.sync import TelegramClient, events

Затем нам надо ввести в программу api_id и api_hash и для удобства название чата, где будем тестировать юзербота:

group = ‘тут юзернейм чата без @’

api_id = тут api_id

api_hash = ‘тут api_hash’

API_ID и API_HASH можно получить на официальном сайте my.telegram.org, введя номер телефона, код из сообщения, а также создав рандомное «приложение» со случайными параметрами. В итоге, вам выдадут именно эти значения)

with TelegramClient(‘юзернейм чата без @’, api_id, api_hash) as client:

client.send_message(group, ‘Всё работает, я твой userbot’)

Уже можно запускать.

При запуске программа спросит номер, также стоит включить VPN.

Пишем первый модуль для UserBota:

if module[0].message == ‘!test’:

from telethon.sync import TelegramClient, events

group = ‘тут название чата без @’

api_hash = ‘тут hash’

with TelegramClient(‘тут название чата без @’, api_id, api_hash) as client:

client.send_message(group, ‘Всё работает, я твой userbot’)

if module[0].message == ‘!test’:

P.S: Бот может работать довольно медленно.

Сегодня мы познакомились с основами создания юзерботов (и даже сделали самый простой собственный), если хотите больше статей по данной тематике или от данного автора (@North_commandef), то пишите об этом в чатике!

С вами был ERROR, до скорых встреч!

Dragon Userbot — расширение возможностей Вашего Telegram-аккаунта до уровня, ограниченного лишь Вашей фантазией

Мы хотим рассказать о проекте, который существует уже больше года и, за свою историю, получил уже больше 200 «звезд» на GitHub. ​Недавно, мы релизнули версию 4.0 — она использует новые версии библиотек (Pyrogram) и имеет дополненный функционал.

Проект не является коммерческим и не содержит никаких платных дополнений / расширения функционала.

Начало

Наш проект начинался как альтернатива чуть ли не единственному работоспособному юзерботу, существовавшего на тот момент — Friendly-Telegram (или FTG). Он использует библиотеку telethon — а мы хотели попробовать ради эксперимента написать тоже самое под pyrogram. Выбор той или иной библиотеки — сугубо личное дело каждого, но, на тот момент, команда склонилась к выбору Pyrogram. Так и появился Dragon-Userbot.

Формирование команды

Спустя какое-то время полу-активной разработки, владелец организации (John Phonk) решил открыть проект для всех, сделав репозиторий публичным. Спустя время, проект заметили, и к нам начали присоединяться контрибьюторы. Из них, позже, сформировалась основная команда разработчиков, которая отвечает за репозитории и модерацию модулей.

Уникальные фишки

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

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

Во-вторых, мы блокируем вызов самых опасных методов — в данный момент это только DeleteAccountRequest, но список будет расширяться, по мере сообщений об опасностях определенных методов / злоупотребления ими.

Помимо этого, команда разработки практически постоянно находится на связи с пользователем. Мы очень быстро реагируем на Issues и Pull Requests, оказываем поддержку пользователям и разработчикам сторонних модулей в нашем Telegram-чате.

Еще, мы стараемся делать пользовательский опыт красивым и бесшовным — автоматизируем установку настолько, насколько это возможно, рисуем баннеры для обновлений и статей, используем форматирование во всех core-модулях и прочее

Помимо этого, мы поддерживаем работу с двумя базами данных из коробки — SQLite и MongoDB, и используем наследование от базового класса DataBase, что делает возможность реализации дополнительных баз данных настолько простой, насколько это возможно.

Зачем это все

Помимо очевидных функций — автоматизации многих действий и модулей просто для забавы, у нас есть действительно полезные модули. О некоторых из них, мы сейчас расскажем:

  1. Безопасность. Из коробки, доступен модуль SessionKiller. Он «убивает» все новые сессии, которые появились в аккаунте с момента активации модуля. Помимо этого, в нем есть команда, которая позволяет проверить активные сессии в удобном виде. Да, такая возможность есть во встроенном клиенте Telegram, однако не вся информация видна в нем. Например, с помощью нашего модуля можно посмотреть последнюю активность конкретной сессии, вплоть до секунды, увидеть Hash модуля и информацию о том, является ли APP_ID и APP_HASH официальными для конкретного приложения или просто имитирует их (конечно, можно использовать официальные ID и HASH, чтобы полностью имитировать официальное приложение, но такие попытки, зачастую, блокируются Telegram). В планах, добавить возможность удалять сессию по ее hash.
  2. Администрирование чатов. Модуль admintool предоставляет широчайший набор возможностей для администрирования чата. Есть уникальная возможность удалять сообщения конкретного человека без блокировки такой возможности средствами Telegram. Помимо этого, можно быстро очистить чат от удаленных / заблокированных аккаунтов и много чего еще.
  3. Просмотр списка каналов и чатов, которыми Вы владеете / которые Вы администрируете. Благодаря модулю admlist, Вы можете получить список чатов и каналов, в которых Вы являетесь владельцем или администратором. Такая возможность доступна в Telegram только при переполнении лимита публичных ссылок, и то — видно только чаты с публичными ссылками.
  4. Удобство. Модули для юзербота могут посылать одинаковые запросы несколько раз. Самый простой пример — когда Вам нужно удалить большое количество сообщений (больше 100), Telegram не даст Вам этого сделать. А используя модуль purge, Вы можете удалить столько сообщений, сколько захотите — юзербот сам разделит их на чанки по 100 штук и отправит запросы на удаление.

Чем это может быть полезно для бизнеса?

Частый вопрос к любому Open-Source проекту — его полезность за пределами развлечений и личных целей. А потому, хочется отметить, что мы смогли внедрить форк этого проекта внутрь компании.

Так, при сообщении о баге (которое приходит в чат разработчиков), я могу одной командой выгрузить логи с определенным уровнем для конкретного сервиса в этот же чат. Помимо этого, мы внедрили обновление проекта на сервере с помощью одной команды в чате, при этом права на использование не нужно каждый раз менять отдельно в боте — они определяются по наличию административных прав в этом чате в телеге. Это легко реализовать в стартапе (когда у Вас нет сильно строгих правил, касательно того кто, что и как может деплоить), но, при определенных усилиях, может быть внедрено в компанию любых масштабов.

Работает через интеграцию с systemd и docker.

Еще, можно доработать код так, чтобы он уведомлял человека об определенных событиях. Самый очевидный паттерн использования — проверка работы телеграм-бота, поскольку мы работаем от имени аккаунта пользователя. Так, например, можно реализовать модуль, который будет каждую минуту отправлять сообщение боту, и, при отсутствии ответа, отправлять сообщение в чат разработчиков. А еще, если взять во внимание предыдущий пункт, можно сразу же перезапускать юнит / контейнер, чтобы все поднялось (или нет ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯).

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

А если мне нужно что-то, чего нет в модулях из коробки

Без проблем! Обладая навыками программирования, вы можете написать собственные модули, которые будут делать именно то, что нужно конкретно Вам. После этого, при желании, Вы можете сделать модуль доступным для всех — просто загрузив его к нам в репозиторий. Мы проверим модуль, и, если он не содержит вредоносного кода, опубликуем его.

У нас уже есть достаточно большая база модулей — например, модуль для Spotify (через него можно, в том числе, управлять плеером через Spotify Connect) или модуль для LastFM (он сам находит и отправляет в чат трек, который сейчас играет). Помимо этого, есть и просто красивые модули — например, аналог «сердечек», который ранее распространяли обфусцированным и с стиллером сессий.

Как это работает?

Мы используем Pyrogram в качестве основы для работы бота и загружаем модули достаточно хитрым способом. Вы можете посмотреть код (или внести изменения) на нашем GitHub. Мы постоянно дорабатываем алгоритм загрузки модулей, работаем над обработкой ошибок и прочее. Так же, практически весь код — асинхронный.

Хочется отметить, что разработка данного проекта сильно прокачала наши навыки в поисках нестандартных решений и сильно улучшила наши знания об архитектуре Python. Во многих местах используется «сырое» (RAW) API Telegram.

Установка

Официально, мы поддерживаем только Linux/MacOS, однако, наш проект можно установить и под Windows. В таком случае, стоит понимать, что некоторые модули могут перестать работать или работать некорректно.

ПРЕДУПРЕЖДЕНИЕ:

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

Учитывайте, что использование стандартных APP_ID и APP_HASH значительно повышает вероятность блокировки. Настоятельно рекомендуем создать свои на сайте https://my.telegram.org/ и использовать их.

На практике, вероятность бана сильно зависит от «кармы» аккаунта — в первую очередь, на нее влияет дата регистрации (чем старше аккаунт, тем лучше) и предыдущие блокировки/ограничения (чем меньше, тем лучше)

Итоги

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

Мы приветствуем обратную связь и запросы пользователей на модули — свои мысли можно высказать в комментариях под этим постом и в наших чатах.

Проект какое-то время был неактивен, но это не повлияло на его функциональность, поскольку наша команда регулярно вносит необходимые изменения.

Спасибо за прочтение!

Ссылки на все наши чаты и соцсети — там же.

Как сделать юзербота в телеграм

Фриланс маркетплейс

Пользователей онлайн: 393

Последний заказ: 1 мин. назад

Логотип и брендинг

Презентации и инфографика

Арт и иллюстрации

Веб и мобильный дизайн

Маркетплейсы и соцсети

Интерьер и экстерьер

Обработка и редактирование

Полиграфия

Промышленный дизайн

Наружная реклама

Доработка и настройка сайта

Создание сайтов

Десктоп программирование

Скрипты и боты

Мобильные приложения

Сервера и хостинг

Юзабилити, тесты и помощь

Тексты и наполнение сайта

Набор текста

Продающие и бизнес тексты

Резюме и вакансии

Статистика и аналитика

Соцсети и SMM

Контекстная реклама

Базы данных и клиентов

E-mail рассылки

Маркетплейсы и доски объявлений

Реклама и PR

Аудиозапись и озвучка

Музыка и песни

Редактирование аудио

Интро и анимация логотипа

Видеоролики

Персональный помощник

Бухгалтерия и налоги

Обзвоны и продажи

Юридическая помощь

Продажа сайтов

Подбор персонала

Презентация

Обучение и консалтинг

Стройка и ремонт

Логотип и брендинг

Презентации и инфографика

Арт и иллюстрации

Веб и мобильный дизайн

Маркетплейсы и соцсети

Интерьер и экстерьер

Обработка и редактирование

Полиграфия

Промышленный дизайн

Наружная реклама

Доработка и настройка сайта

Создание сайтов

Десктоп программирование

Скрипты и боты

Мобильные приложения

Сервера и хостинг

Юзабилити, тесты и помощь

Тексты и наполнение сайта

Набор текста

Продающие и бизнес тексты

Резюме и вакансии

Статистика и аналитика

Соцсети и SMM

Контекстная реклама

Базы данных и клиентов

E-mail рассылки

Маркетплейсы и доски объявлений

Реклама и PR

Аудиозапись и озвучка

Музыка и песни

Редактирование аудио

Интро и анимация логотипа

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

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

Luxury Car Rental in Miami | Reserve a Premium Vehicle with RealCar