Телеграм на страже Авито - шаблон для общения с клиентами на Авито через Телеграм

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Приветствую тебя мой юный рукоблудер кода кодер зеннопостер.
в данном простом, но достаточно полезном шаблоне я покажу как можно оперативно реагировать на сообщения клиентов на Авито. Для этого достаточно подключить к авито наш любимый телеграм.

Шаблон предназначен для парсинга личных сообщений с авито и отправки их в телеграм и обратного действия - пересылка сообщений из телеграм собеседнику на авито.

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

Для работы мы будем использовать xpath, с его помощью мы будем находить новые диалоги, а в диалогах новые сообщения.

Для того чтобы найти новый диалог, достаточно посмотреть на их список, и мы сразу визуально выделим новый, так как он будет подсвечен жирным шрифтом. за это отвечает атрибут BOLD, вот он то нам и нужен. наше выражение xpath будет выглядеть следующим образом:
Код:
//div[contains(@class, 'bold')]
для поиска новых сообщений внутри диалога мы будем искать разделитель которым авито любезно метит для нас эти самые новые сообщения
---------------Новые сообщения--------------
для новых сообщений выглядит xpath следующим образом:
Код:
//div[contains(@class, 'new-messages-delimiter-root')]/following::div[contains(@data-marker, 'messageText')]");
здесь как мы видим сообщение и делимитер находятся на одном уровне, поэтому мы используем ось following

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

В общем получилась достаточно простенькая статья с описанием, но надеюсь, что полезная.

переходим к настройке шаблона, для начала создадим бота


Шаг 1: Создаём телеграм-бота
Тут ничего нового, инструкцию возьмем с моей старой статьи по телеграму, с тех порт ничего не изменилось
для этого в строке поиска пишем
@botfather



Выбираем официального бота(будьте внимательны, все остальные боты написаны непонятно кем, и скорее всего преследуют скам цели).

далее все очень просто, стартуем бота командой /start

63707


создаем нового бота /newbot, отвечаем на простые вопросы и получаем Ключ управления ботом через API
63708

63709


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

Шаг 2: Создание канала и подключение бота

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

51215



51216



Далее что нам требуется узнать chat_id, для этого просто в браузере делам запрос по адресу https://api.telegram.org/bot<API TOKEN>/getUpdates. В нашем случае он будет выглядеть так https://api.telegram.org/bot1102371005:AAHRUuaGT1qssatSwThC3R45yO5ZvPNg3yE/getUpdates.

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

51218



так же копируем данную информацию, она на еще пригодиться.




Далее переходим в настройки самого шаблона:
63712


Прописываем в настройки полученные из инструкции выше BOT TOKEN ID и CHAT ID

А так же выбираем профайл который нужно подгрузить.

Чтобы предварительно создать профайл, нужно отрыть зеннопостер, перейти на сайт с авито и авторизироваться под своими данными, далее создаем кубик "действие над профилем" и выбираем "сохранить"
63713



Вот этот сохраненный профайл и "скармлеваем" нашему шаблону.
 
Категория
Чат-боты \ Автоответчик, Парсинг, Доски объявлений
Номер конкурса шаблонов
Шестой конкурс шаблонов
Уровень сложности
Продвинутый

Вложения

  • 22,6 КБ Просмотры: 338

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование модератором:

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
жаль, что только для версии 7.1.6.1 и выше, у меня 7.1.5 :(
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 304
Благодарностей
5 421
Баллы
113

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8
  • Спасибо
Реакции: Mikhail B.

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
сердечно прошу удалить кубик шифрования, чтобы можно было пользоваться шаблоном не только на самой последней версии зенки
что-то в 7 не удаляется кубик с шифрованием, но выставил минимально возможную версию 7.1.3
 

Вложения

  • 22,6 КБ Просмотры: 236
  • Спасибо
Реакции: Andr123

Andr123

Client
Регистрация
08.01.2016
Сообщения
75
Благодарностей
10
Баллы
8

tootee

Client
Регистрация
17.01.2016
Сообщения
16
Благодарностей
4
Баллы
3
Спасибо за работу!
Не подскажете как сделать если в папке есть разные профайлы и надо проверить их по очереди?
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43
У меня не работает. Выполняю кубик "ищем новые сообщения", при этом открывается новое сообщение. Далее идёт кубик "ищем новые сообщения в переписке" - при его выполнении в result всегда записывается 0.
 

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43
Понятно - недоработка бота. Новые реплики в диалоге он находит только в том случае, если от хозяина объявления было отправлено сообщение. А если диалог начинает покупатель, то result=0
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Можно добавить xpath на взятие всех сообщений после первого перехода в диалог, тогда будет передаваться и первое сообщение от клиента
 

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43
Можно добавить xpath на взятие всех сообщений после первого перехода в диалог, тогда будет передаваться и первое сообщение от клиента
Можно конечно. Но почему вы сами этого не сделали изначально? Ведь очевидно же, что диалоги между продавцом и покупателем во всех случаях начинаются с того, что пишет покупатель. И вот получается ситуация: он написал, ждёт ответа. Бот открывает диалог, покупатель видит, что сообщения прочитаны, но ему никто не ответил. Это равносильно полной неработоспособности бота.
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Можно конечно. Но почему вы сами этого не сделали изначально? Ведь очевидно же, что диалоги между продавцом и покупателем во всех случаях начинаются с того, что пишет покупатель. И вот получается ситуация: он написал, ждёт ответа. Бот открывает диалог, покупатель видит, что сообщения прочитаны, но ему никто не ответил. Это равносильно полной неработоспособности бота.
в комбайне, который только для себя, все есть. здесь упустил, когда переносил модуль.
 

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43
Не выполняется кубик "отправляем наше сообщение клиенту".
Выполнение действия CSharp OwnCode: отправляем наше сообщение клиенту. Последовательность не содержит элементов.
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43
Не выполняется кубик "отправляем наше сообщение клиенту".
Выполнение действия CSharp OwnCode: отправляем наше сообщение клиенту. Последовательность не содержит элементов.
странно...
вернусь из отпуска посмотрю, сейчас нет доступа к компу
 
  • Спасибо
Реакции: socsecret.ru

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43
вернусь из отпуска посмотрю, сейчас нет доступа к компу
Ок, а примерно через сколько дней это будет? А то если долго, я себе тогда с нуля буду писать аналог.
Можно добавить xpath на взятие всех сообщений после первого перехода в диалог, тогда будет передаваться и первое сообщение от клиента
Это тоже пожалуйста доделайте)
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43

Sardol

Client
Регистрация
23.09.2020
Сообщения
189
Благодарностей
42
Баллы
28
Работает только с одним аккаунтом? Можно как-то реализовать работу с несколькими аккаунтами?
 

Master Woo

Client
Регистрация
06.12.2014
Сообщения
122
Благодарностей
129
Баллы
43

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43

nectis

Client
Регистрация
12.12.2011
Сообщения
42
Благодарностей
10
Баллы
8

socsecret.ru

Client
Регистрация
30.09.2017
Сообщения
343
Благодарностей
205
Баллы
43
Не рекомендую обращаться по любым вопросам к автору данного шаблона - рискуете быть обманутыми. Шаблон неработоспособен, автор отказался доделывать его. Очень странно, что шаблоны такого качества пропускают на конкурсы.
 

mig-z

Client
Регистрация
05.12.2014
Сообщения
303
Благодарностей
70
Баллы
28
К сожалению шаб не рабочий. Авито изменило верстку сайта и его надо переделывать.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)