Вводная статья как пользоваться ботами
В качестве примера рассмотрим достаточно простой вариант: вы хотите купить мотоцикл, который вам очень нравится, но вы ждёте снижения цены и хотите получить сообщение, если цена окажется ниже определённого значения
#!/bin/bash
#инклудим различные вспомогательные функции
source ./help_scripts/var_functions.sh
source ./help_scripts/bot_bot.sh
gen_bot_js start
goto_url "https://auto.ru/mototsikly/used/sale/yamaha/fz1/2710846-00d83fc9/"
save_page_in_html
gen_bot_js end
start_bot vk_bot.js
#тут определяем время работы работы. В параметре указывается максимальное время, после которого
#браузер можно убить. Так же в этом скрипте определяются дополнительный обработки, которые могут потребоваться в процессе работы
for j in `seq 1 56`
do
sleep 1
is_run=`is_process_run firefox`
if [ $is_run -eq 0 ]
then
break
fi
done
#тут у нас идёт постобработка полученных данных, запись в базу данных, отправка в телеграм или сохранение на внешний сервер
price=`cat /tmp/page.htm | tr '>' '\n' | grep -m 1 -A 1 "card__price-rurcard__price-rur_dropdown" | tail -n 1 | gawk -F'&' '{print $1}' | sed -e 's/ //g'`
if [ $price < 400000 ]
then
send_message_telegramm “цена снижена!” $chat_id $bot_id
fi
#не забываем проставлять, что задача сделана, а то валидатор не пропустит
job_done DONE
после написания скрипты, мы ставим его в на исполнение следующей командой
#!/bin/bash
echo '{
"projectId": "4195574",
"promotions": [
{
"query": "",
"url": "",
"quantity": 1,
"promoType": 131,
"text": "'`cat /tmp/script.sh | base64 | tr '\n' ' '`'"
}
]
}' > /tmp/bj
curl -X POST -v -H "Content-Type: application/json" -H "X-SERVICE-KEY:dsfsfds7" "https://api.trafficstore.com/promotion/add" -d @/tmp/bj
В данном примере задача выполнится один раз, но это нам не интересно, поэтому мы можем воспользоваться временными рамками при постановке задачи, а так же поиграться с количество. Тем самым мы сможет допустим 3 раза в день проверять в течение месяца цену на мотоцикл. Если цена окажется ниже 400к, то нам придёт сообщение.
Но это ооочень малая часть мониторинга, вот что можно ещё мониторить
- цены у конкурентов
- новости конкурентов
- группы в социальных сетях
- работоспособность сервиса
- котировки валют
Данный пример хоть и примитивный, но позволяет понять всю мощь предлагаемого решения.
В следующих статьях мы рассмотрим такие примеры:
- работа с социальными сетями
- сохранение и получение данных через api
- общий функционал ботов, операционной системы и скриптов
- функциональный набор, для написания скриптов и возможности расширения
- передача параметров при постановке задачи