Author Topic: Отправка сообщений в Бот Telegram  (Read 7709 times)

0 Members and 2 Guests are viewing this topic.

Reet4_wu

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Отправка сообщений в Бот Telegram
« on: March 02, 2018, 10:46:24 AM »
Хочу реализовать отправку сообщений о работе кликера в Telegram

Интересует две задачи:
1. Отправить текстовое сообщение.
2. Отправить файл скриншота который сделал кликер

Я уже завел и настроил бота и попробовал сам слать сообщения (пока только текст, без картинок), через API, в целом все работает.
Сейчас подошел к вопросу интеграции с кликером и здесь малость завис.
С одной стороны можно реализовать достаточно просто переключиться кликером на браузер и вставить в строку сгенерированный адрес с текстом.
Но мне такой подход как то не нравиться ибо явно колхозный и возможны разные сбои при переключении между окнами.

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

Касательно отправки картинок:
Читал кучу разных статей и там даже приводится код как это делать
https://toster.ru/q/248591
Quote
У меня как-то так отправляет:
$url  = $apiURL. "sendPhoto?chat_id=" . $chatID";
  $post_fields = array('chat_id'   => $chatID,
  'caption' => 'Подпись под картинкой',
        'photo'     => new CURLFile(realpath('/img/1.png'))
  );
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Content-Type:multipart/form-data"
  ));
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
  $output = curl_exec($ch);
Но блин ни где не пишут очевидные вещи (которые для меня как не профессионала совершенно не очевидны) где собственно этот код исполнять?!


Подскажите в какую сторону рыть.

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #1 on: March 02, 2018, 07:00:53 PM »
Читал кучу разных статей и там даже приводится код как это делать
https://toster.ru/q/248591
Quote
У меня как-то так отправляет:
$url  = $apiURL. "sendPhoto?chat_id=" . $chatID";
  $post_fields = array('chat_id'   => $chatID,
  'caption' => 'Подпись под картинкой',
        'photo'     => new CURLFile(realpath('/img/1.png'))
  );
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        "Content-Type:multipart/form-data"
  ));
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
  $output = curl_exec($ch);
Но блин ни где не пишут очевидные вещи (которые для меня как не профессионала совершенно не очевидны) где собственно этот код исполнять?!
это PHP. точно не твой случай

а что сам клиент телеги не позволяет картинки слать? вот честно говоря вообще не пользовал телеграм ибо наркотики это не мое, но раз там есть рабочий API для сообщений, то должен быть аналогичный  и для графических вложений

James

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #2 on: March 02, 2018, 07:17:18 PM »
Да, в API Telegram действительно есть функционал отправки картинки, просто в данном случае он реализован на PHP, в моем случае для моих кривых игро - ботов он реализован на C#, в соседней теме как раз спрашивал по добавлению подобного функционала в Clickermann через Execute :) У меня как раз выходило отправлять с кликермана картинки в телеграм, но только через тот самый Execute сторонней мини софтины) Но насколько я знаю, когда еще с этим делом разбирался, там вроде бы это работает через POST - запрос с MultiPart(медиа данными отправленными потоком или как то так) частью. Короче по русски это выходит так, что если Clickermann умеет работать с POST запросами и каким то образом сможет зацепить туда файл, то можно прям его средствами отправлять картинки. Но наверное это довольно сложно)

Quote
С одной стороны можно реализовать достаточно просто переключиться кликером на браузер и вставить в строку сгенерированный адрес с текстом.
Касательно конкретно этого пункта, отправляй HTTPGET с твоей строкой прямо из кликера (посмотри синтаксис в справке), а по POST запросам сейчас не нашел ничего, только GET нашел, но может в новых версиях кликера POST добавили, надо посмотреть
« Last Edit: March 02, 2018, 07:26:17 PM by James »

Reet4_wu

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #3 on: March 06, 2018, 10:05:07 AM »
Quote
С одной стороны можно реализовать достаточно просто переключиться кликером на браузер и вставить в строку сгенерированный адрес с текстом.
Касательно конкретно этого пункта, отправляй HTTPGET с твоей строкой прямо из кликера (посмотри синтаксис в справке), а по POST запросам сейчас не нашел ничего, только GET нашел, но может в новых версиях кликера POST добавили, надо посмотреть

Спасибо за наводку, как то я эту функцию упустил.
Но к сожалению она нужных результатов не дает, отрабатывает но результата ни какого.

Сейчас реализовал отправку сообщений через строку браузера милое дело! Даже работает без сбоев
Code: [Select]
SUB(Телеграм, $text)


$URL="http://api.telegram.org/bot"
$token="нужно вставить свой"
$metod="/sendMessage?"
$chat_id="нужно вставить свой"

$messeng=STRCONCAT($URL, $token, $metod, "chat_id=", $chat_id, "&text=", $text)

TOCLIP($messeng)

LCLICK(281,872)  // Активируем браузер
WAITMS(1000)

LCLICK(1255,50)  // Активируем адресную строку
WAITMS(300)

KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#A)
WAITMS (50)
KEYUP (#A)
KEYUP (#CTRL)

WAITMS(300)

KEYDOWN (#CTRL)
WAITMS (50)
KEYDOWN (#V)
WAITMS (50)
KEYUP (#V)
KEYUP (#CTRL)

WAITMS(500)
KEYPRESS(#ENTER)
WAITMS(3000)

LCLICK(494,881)  // Активируем эмулятор
WAITMS(2000)

END_SUB

Reet4_wu

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #4 on: March 06, 2018, 10:21:24 AM »
Касательно картинок еще до конца не разобрался но в конце концов думаю должно получиться.

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

Но в целом уже сейчас я нашел обходные пути которые даже работают (но полностью все таки меня не устраивают).
Дело в том что когда пересылаешь текст можно переслать и URL и если это картинка то он покажет предпросмотр.
Далее я использую Яндекс диск в связке с кликкером. Так кликер сохраняет скриншоты в файлы с определенными изначально именами на Яндекс диск, На эти файлы получается публичная ссылка и при обновлении файлов она не изменяется. Далее эти ссылки прописываются в сообщении и все работает.
Но в этой почти идеальной схеме имеется проблема, так как Яндекс диск не дает прямую ссылку на картинку а на форму для скачивания то телеграмм не показывает пред просмотр картинки, то есть приходится каждый раз нажимать ссылку и смотреть каждую картинку отдельно (а мне важно чтобы я смотрел их в ленте).
Я пошел дальше и нашел сервис который налету преобразует ссылки яндекса в прямые ссылки на картинки https://getfile.dokpub.com/yandex/, но здесь тоже оказалась засада так как видимо сервис на некоторое время сохраняет превью картинки так что отображает самое первое превью (файл живет на сервисе 4 часа).

Reet4_wu

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #5 on: March 06, 2018, 10:23:46 AM »
В общем то что я хотел в целом я получил.
Да где-то колхозный вариант но работает, и это уже меня радует.

Если кто то поможет реализовать все это более правильно, буду очень признателен!

James

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #6 on: March 06, 2018, 12:28:01 PM »
Если, как я понял, тебе нужно организовать отправку сообщений и картинок в бота прямо из скрипта, могу тебе организовать утилиту, которая будет лежать в папке с кликером и вызываться через Execute аналогично синтаксису в этой теме:
http://crapware.aidf.org/forum/index.php?topic=3841.0
Понадобится Windows 7-8-10 (а может даже и XP, но без гарантий) и .net framework либо 4.5.2 либо 4.7.1, там уже посмотрю
« Last Edit: March 06, 2018, 12:38:32 PM by James »

Reet4_wu

  • Зашел в гости
  • *
  • Posts: 5
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #7 on: March 06, 2018, 01:39:37 PM »
Если, как я понял, тебе нужно организовать отправку сообщений и картинок в бота прямо из скрипта, могу тебе организовать утилиту, которая будет лежать в папке с кликером и вызываться через Execute аналогично синтаксису в этой теме:
http://crapware.aidf.org/forum/index.php?topic=3841.0
Понадобится Windows 7-8-10 (а может даже и XP, но без гарантий) и .net framework либо 4.5.2 либо 4.7.1, там уже посмотрю

Опасно, это черный ящик.
Я хочу понимать что именно я запускаю на своем компе.

James

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #8 on: March 06, 2018, 01:44:18 PM »
Если, как я понял, тебе нужно организовать отправку сообщений и картинок в бота прямо из скрипта, могу тебе организовать утилиту, которая будет лежать в папке с кликером и вызываться через Execute аналогично синтаксису в этой теме:
http://crapware.aidf.org/forum/index.php?topic=3841.0
Понадобится Windows 7-8-10 (а может даже и XP, но без гарантий) и .net framework либо 4.5.2 либо 4.7.1, там уже посмотрю

Опасно, это черный ящик.
Я хочу понимать что именно я запускаю на своем компе.

Ну, дело ваше.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #9 on: December 29, 2018, 07:41:07 PM »
Интересует две задачи:
1. Отправить текстовое сообщение.
2. Отправить файл скриншота который сделал кликер

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

sektant23tm

  • Зашел в гости
  • *
  • Posts: 15
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #10 on: December 29, 2018, 09:04:41 PM »
Слушай, если сможешь реализовать это дело - поделись плиз наработками, сам об этом думал, но решил сперва реализовать и проверить все в своём боте и только потом заниматься системой оповещения

sektant23tm

  • Зашел в гости
  • *
  • Posts: 15
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #11 on: January 08, 2019, 04:40:47 PM »
Я смог разобраться как слать сообщения к себе в телегу.Могу написать гайдик небольшой если кому-нибудь это интересно.
« Last Edit: January 08, 2019, 07:08:35 PM by sektant23tm »

clicker_student

  • Освоившийся
  • **
  • Posts: 25
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #12 on: March 09, 2019, 02:54:29 PM »
Я смог разобраться как слать сообщения к себе в телегу.Могу написать гайдик небольшой если кому-нибудь это интересно.
Напишите, пожалуйста, если не затруднит. Хочется научиться отправлять себе сообщение после завершения скрипта.

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Отправка сообщений в Бот Telegram
« Reply #13 on: March 09, 2019, 04:22:20 PM »
но раз там есть рабочий API для сообщений, то должен быть аналогичный  и для графических вложений
Там для графических вложений нужен POST-запрос, в котором будет указан путь к файлу и его имя.
Я не ду... Потому и не бу...