Далее нужно запустить команду для установки зависимостей и модулей:
python setup.py -i
После успешной установки мы получим сообщение:
Регистрация приложения в «API Development Tools»
Заходим на сайт — my.telegram.org, проходим стандартную авторизацию, код придет в приложении.
После авторизации нажимаем на «API development tools».
Далее нам нужно будет создать новое приложение, где в:
— App title: указываем (Telegram)
— Short name: указываем рандомно (ApDemo)
Обзор на интересный скрипт телеграмм бота
— URL: указываем ссылку (https://apbot.ru/)
Нажимаем «Create application» и видим следующее:
Здесь нам нужны значения только от App api_id и от App api_hash.
Настройка конфигурации
Далее мы настраиваем конфигурацию и проходим аутентификацию для сохранения нашей сессии.
В нашей директории вводим команду:
python setup.py -i
Здесь мы как раз указываем наш App ID, Hash ID и номер телефона:
После получения сообщения «Setup Complete!», конфигурация настроена и ваша сессия сохранена.
Использование
После того как все настроено, можно приступать к использованию.
Во время первого запуска, нужно будет указать код для продолжения корректной работы скрипта.
Парсим участников чата
В директории со скриптами, прописываем команду:
Нужно, чтобы у нас был хотя бы один чат с пользователями на данном аккаунте!
После выбираем чат и нажимаем Enter.
Список участников чата успешно сохранен в файлик: members.csv
Рассылка сообщений
В директории со скриптами, прописываем команду:
python smsbot.py members.csv
Далее выбираем по какому критерию мы будем производить спам пользователю.
После нужно указать текст сообщения и нажать Enter.
Задержка в скрипте была введена, для того чтобы не возникало ошибок и наш аккаунт не улетел в бан (на практике всё приходит быстро, а со стороны Telegram нет никаких подозрений и претензий).
СОЗДАЛ СКАМ КАНАЛ- КАК УСТРОЕНЫ СКАМ КАНАЛЫ В ТЕЛЕГРАМЕ
Инвайтер в чат
В директории со скриптами, прописываем команду:
python invite.py members.csv
Далее нужно выбрать чат, в который мы будем приглашать наших пользователей с файлика members.csv
По итогу получаем пользователей в чат.
Лимиты Telegram
Ограничения для 1 аккаунта Telegram:
- Рассылка без ссылки: 45 сообщений
- Рассылка ссылкой: 10 сообщений
- Лимит на инвайтинг в группу/канал: 50 человек
- Оптимальная пауза при рассылки: 5/10 сек
- Оптимальная пауза при инвайтинге: 7/15 сек
- На 2 аккаунта советуем использовать 1 прокси при рассылке, парсинге и инвайте.
Сохранить аккаунт вы сможете скорее всего сможете только при соблюдении ряда условий:
- Инвайт не более 50 пользователей в сутки с 1 аккаунта.
- Микс при отправке сообщений, используйте различную раскладку, например место русской О, используйте английскую O, тем самым вы можете хоть чуть-чуть, но уберечь в первые минуты спама аккаунт от блока, т.к. алгоритмы Telegram проверяют и анализируют тело сообщения.
- Приглашайте людей в чат со схожей категорией на вашу, тем самым вы сможете за интересовать людей и они не нажмут на кнопку: SPAM.
Возможные ошибки и их решения
1) В случае инвайта, если вы получаете ошибку, в теле которой есть информация:
Вам нужно выбрать тип инвайта по ID (select 1), а не по Username:
2) Во время парсинга, вам нужно выбрать цифру из списка существующих чатов, а не указывать цифру сколько именно парсить.
3) Ошибка связанная с Invalid Mode Selected: смотрите какие методы и аргументы вы выбираете, в случае если их нету в списке и вы их не видите визуально, вы получите ошибку.
На этом все! Удачной раскрутки ваших проектов!
Источник: apbot.ru
Пишем бота Telegram на PHP
Anton Bagaiev Last updated Aug 3, 2016
Read Time: 9 min
Если вы читаете это, то скорее всего понимаете, что боты для чатов является популярным трендом в 2016 году.
Эволюция ботов заключается не только в искусственном интеллекте. Ботом может быть инструмент в вашем мессенджере с простым интерфейсом, который может быть использован для расширения функционала сайта или сервиса, или использован как отдельное приложение. Боты легки в разработке и установке, и еще один плюс заключается в том, что мессенджеры могут использоваться на любом устройстве: ноутбуках, смартфонах и планшетах. Вот почему все сходят с ума по ботам.
И наиболее популярным мессенджером с открытым API для ботов является Telegram.
Что мы собираемся делать
В этой статье мы создадим простой бот-секундомер для Telegram. Я покажу вам как создавать собственного бота, связываться с аналитикой, напишем немножко кода и в конце добавим своего бота в магазин ботов.
Создаем бота с помощью BotFather
Первым шагом при создании бота нужно зарегистрировать аккаунт для своего бота в Telegram. И для этого есть собственный бот, который называется BotFather. Просто добавьте его в свой контакт лист и вы сможете создавать и настраивать ботов Telegram, просто напечатав команду /newbot и следуя инструкциям от BotFather.
После регистрации вашего нового бота, вы получите сообщение с поздравлением и токен для авторизации. Мы скоро будем использовать этот токен для авторизации бота и отправки запросов к Bot API.
Позднее вы сможете использовать BotFather для добавления описаний и фото к профилям ваших ботов, регенерации токенов, задания списка доступных боту команд, удаления аккаунтов и прочее. Чтобы получить полный список команд, просто напечатайте /help в чате с BotFather.
Соединяемся с Botan Analytics
Не существует никакой встроенной аналитики в Telegrem Bots API, но все равно важно знать, сколько пользователей у вас есть, как они себя ведут и какие команды используют чаще других. Конечно можно собрать такую информацию, используя собственный движок, но если мы собираемся сфокусироваться на функционале самого бота, а не метриках, то нужно использовать решение из коробки.
И для этого уже есть простой инструмент, который называется Botan. Он основан на Yandex AppMetric и абсолютно бесплатный. Используя Botan, можно сегментировать вашу аудиторию, получать информацию о профилях пользователей, получить наиболее часто используемые команды, а так же получить красивые графики прямо в вашем мессенджере:
Для того чтобы начать, нужно зарегистрировать ваше бота в Botan и получить свой токен. И опять же это можно сделать в боте, используя BotanioBot:
Просто нажмите на «Add bot» на вашей клавиатуре в диалоговом окне, введите ник вашего бота, и получите ваш токен для трекинга. Теперь Botanio готов регистрировать события вашего бота, а вы можете получать статистику по пользователям, сессиям и событиям прямо в вашем мессенджере.
Создание и регистрация SSL Webhook
В Telegram есть два способа получения сообщений от пользователей: длинный опрос и webhooks.
Обычно с долгим опросом, вам необходимо запрашивать новые сообщения из API, а с webhooks вы устанавливаете свой обратный вызов, который будет вызван API Telegram, если появится новое сообщение от пользователя. Я предпочитаю использовать webhooks потому что это больше похоже на взаимодействие в реальном времени, так что в этой статье мы так же будем использовать этот способ. Теперь нам нужно выбрать URL для обратного вызова нашего webhook, который будет вызван по HTTPS протоколу, и нужно установить его достаточно безопасным, и расположить свой скрипт в безопасной директории как сказано в руководстве:
Если вы хотите убедится что запрос Webhook действительно исходит от Telegream, мы рекомендуем использовать секретный путь в URL, например: https://www.example.com/ . Так как никто больше не знает токена для вашего бота, то вы можете быть уверены, что запрос идет от нас.
Если у вас подтвержденный SSL сертификат, то все что вам нужно, это открыть ваш URL в браузере:
https://api.telegram.org:443/bot[token]/setwebhook?url=[webhook]
Иначе необходимо сгенерировать самоподписанный сертификат. Вот пример команды в Linux для этого:
openssl req -newkey rsa:2048 -sha256 -nodes -keyout /path/to/certificate.key -x509 -days 365 -out /path/to/certificate.crt -subj «/C=IT/ST=state/L=location/O=description/CN=yourdomain.com»
И не забудьте открыть SSL порт:
sudo ufw allow 443/tcp
Чтобы подтвердить ваш сертификат и сделать ваш домен для webhook доверительным, необходимо загрузить свой публичный ключ:
curl
-F «url=https://yourdomain.com/path/to/script.php»
-F «certificate=/path/to/certificate.key»
«https://api.telegram.org/bot[token]/setwebhook»
В итоге вы получите следующий JSON ответ:
«ok»:true,»result»:true,»description»:»Webhook was set»>
В нем сказано что webhook был установлен и мы готовы начать работу с ботом.
Создаем базу данных
Теперь нам нужно создать базу данных для наших таймеров. Что мы собираемся в ней хранить? Когда пользователь дает команду секундомеру начать отсчет, мы будем брать ID чата и сохранять строку с ID чата и текущим временем Unix. Следовательно мы сохраним строку с отметкой времени и ID чата.
Чтобы показывать текущее время секундомера, мы будем брать сохраненную метку времени и сравнивать ее с текущим временем. Разница и будет текущее время в секундах. Если пользователь останавливает секундомер, то мы просто удаляем строчку с данным ID чата.
Итак давайте создадим базу данных и таблицу для хранения информации для секундомера:
CREATE TABLE IF NOT EXISTS `stopwatch` (
`chat_id` int(10) unsigned NOT NULL,
`timestamp` int(10) unsigned NOT NULL,
PRIMARY KEY (`chat_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Создание класса Stopwatch
Наконец мы готовы начать писать код. Создадим класс для работы с базой данных в файле stopwatch.php и начнем с конструктора, который устанавливает два приватных свойства, где мы будем хранить ID чата и соединение с MySQL:
class Stopwatch
Источник: code.tutsplus.com