Jump to content

ежедневное получение списка скидок Vkusвилл на почту, или настройка НЕ бот-протокола телеграм на роутере


Recommended Posts

Дано: данный магазин в приложении телеграм каждый день даёт 20% скидку на рандомные 6 продуктов, если эту скидку попросить.

Имеется 2 телефона на семью с двумя симками, по одной скидочной карте на каждую симку, итого 4 аккаунта и потенциально 24 продукта с 20% скидкой.

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

Автоматизируем. Каждое утро должен присылаться список продуктов со скидкой на почту.

Общаться по телеграму придётся с ботом, мы должны быть инициатором общения, поэтому простое решение - телеграм бот-API - не подходит.

Ставим полный PHP-клиент MadelineProto.

Сначала нужно установить и настроить связку lighttpd + php, в php настроить отправку почты.

После этого:

 

1. настройка php

opkg install php7-mod-xml php7-mod-openssl php7-mod-mbstring php7-mod-gmp php7-mod-curl

opkg install php7-mod-phar php7-mod-zip

opkg install php7-fpm php7-cli

opkg install php7-mod-json

opkg install php7-mod-dom

 

2. python

opkg install python3

 

3. make directory

mkdir /opt/share/www/tg

cd /opt/share/www/tg


4. git

opkg install git git-http

 

5. install composer https://getcomposer.org/download/

/opt/bin/php-cli -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

/opt/bin/php-cli -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

/opt/bin/php-cli composer-setup.php

/opt/bin/php-cli -r "unlink('composer-setup.php');"


6. создадим алиас на  компосер

alias composer='/opt/bin/php-cli composer.phar'

 

7. get MadelineProto

git clone https://github.com/danog/MadelineProto.git

содержимое папки MadelineProto вырезать на уровень выше

папку MadelineProto удалить

 

8. 

composer update

 

9. рестарт сервера

/opt/etc/init.d/S80lighttpd restart

 

10. настроить на роутере IP 6to4 tunnel по инструкции, иначе сервера заблокированы доблестными борцами с террором.

https://help.keenetic.com/hc/ru/articles/213968529-Настройка-туннельного-подключения-IPv6-6to4

 

11. первая засада: php-cli скомпилирован без поддержки readline. Процедура readline используется скриптом tg/tests/testing.php для первичной настройки (авторизации) и сохранения файла соединения с сервером телеграм, поэтому я п.п 1-9 повторяю на стационарном компе с установкой обычного php

 

12. заходим на https://my.telegram.org/apps и регистрируем под свой аккаунт новое приложение. Тип - web, остальное неважно. После нажатия кнопки регистрации появятся два поля - appl_id & appl_hash

 

13. на стационарном компе запускаем tg/tests/testing.php

cd tg

php-cli tests/testing.php

На вопрос скрипта, вручную или автоматически задать настройки appl_id, говорим, что вручную. Даём скрипту appl_id & appl_hash из п.12 

Далее следуют долгие процедуры установления коннекта, запроса вашего номера телефона и кода подтверждения, результатом которых будет появление файлов:

tg/testing.madeline

tg/testing.madeline.lock

 

14. переименовываем файлы из п.13 например так:

tg/mts.madeline

tg/mts.madeline.lock


15. при необходимости п.п. 13-14 повторяем для другого номера телефона


16. кладём файлы из п.14 в папку роутера /opt/share/www/tg

 

17. кладём файл tg_vksvll_any.php (приложен к этому сообщению) в папку роутера /opt/share/www/tg

tg_vksvll_any.php


18. в файле tg_vksvll_any.php меняем настройки (имена файлов из п.14, почтовые адреса получателя и отправителя) на свои

 

19. выполняем 

cd /opt/share/www/tg && /opt/bin/php-cli /opt/share/www/tg/tg_vksvll.php

и скорее всего у вас ничего не получится, если вы не настроили отправку почты из php

 

После корректной настройки и установки на график каждое утро в почту приходит такое:

vksv.png.4adf982404c654a7a6850aea5d13b7aa.png

Edited by Илдар
  • Thanks 1
  • Upvote 1
Link to comment
Share on other sites

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...