Skip to content

Latest commit

 

History

History
89 lines (62 loc) · 6.67 KB

README.md

File metadata and controls

89 lines (62 loc) · 6.67 KB

Проверяльщик баланса Альфа.Бизнес

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

Скрипт с помощью вебдрайвера входит в режиме «инкогнито» на сайт «Альфа.Бизнес Онлайн» в браузере «Хромиум» или родственном ему, проверяет последние платежи, и, если со времени предыдущей проверки появились новые записи, присылает обновлённый баланс и историю последних операций Телеграм-ботом в указанный пользователем чат.

Всё работает на PHP. Из расширений нужен только cURL (ext-curl) для отправки сообщений Телеграм-ботом. Скрипт легко дополняется отправкой информации в другие системы.

Установка

  1. Зарегистрируйте нового Телеграм-бота или возьмите токен уже существующего. Токен имеет вид: 666666666:AABBCC-DDEEFF_11223344556677889900, где часть до двоеточия — цифровой идентификатор бота, и часть после двоеточия — случайный набор букв, цифр, дефисов, подчёркиваний.

  2. Склонируйте этот репозиторий или скачайте архив со скриптом и установите зависимости Композером:

    composer i
  3. Скачайте нужную версию вебдрайвера (в зависимости от вашей операционной системы и версии браузера) и положите файл в каталог selenium.

  4. Скопируйте файл-шаблон .env.example в новый файл .env. После чего пропишите доступ к онлайн-кабинету Альфа-банка и прочие параметры в новом файле .env:

    # Страница входа в Альфа.Бизнес
    ALFA_BUSINESS_URL=https://link.alfabank.ru/webclient/pages
    # Имя пользователя
    ALFA_BUSINESS_USERNAME=my-username
    # Пароль
    ALFA_BUSINESS_PASSWORD=my-password
    
    # Токен Телеграм-бота
    TELEGRAM_BOT_TOKEN=666666666:AABBCC-DDEEFF_11223344556677889900
    # ID Телеграм-чата для сообщений бота
    TELEGRAM_BOT_CHAT=666777
    
    # Показывать ли окно браузера
    SHOW_BROWSER_WINDOW=false

    Внимание! Держите файл .env подальше от посторонних глаз, поскольку в нём ваши токены и пароли лежат в открытом виде. По возможности максимально ограничьте у файла права доступа.

  5. Готово.

ID чата для Телеграм-бота

Бота можно добавить в групповой чат и проставить ID этого чата (может быть отрицательным числом) в настройку TELEGRAM_BOT_CHAT. Если хотите, чтобы бот присылал сообщения вам в личку, тогда нужно в личке с ботом нажать кнопку [START], и после этого бот сможет писать вам. Узнать свой ID можно ботом @UserInfoBot: напишите ему что угодно и в ответном сообщении получите ID.

Как правило, ID групповых чатов отрицательные, а личных чатов — положительные. Если идентификатор отрицательный (имеем дело с группой), в настройке TELEGRAM_BOT_CHAT его нужно писать полностью, с минусом.

Запуск

Разовый запуск скрипта для тестирования:

php run.php

В зависимости от скорости интернета и состояния сервиса Альфа-Банка команда может выполняться от десяти до тридцати секунд. Если всё хорошо, в указанный вами Телеграм-чат придёт уведомление от бота с балансом и историей последних операций (списания и пополнения счёта).

Запуск по расписанию

В Линуксе воспользуйтесь кроном:

# Файл: /etc/cron.d/alfa-business-checker
# m  h   dom mon dow    user  command
 30  *    *   *   *     max   php /path/to/run.php

или кронтабом:

# crontab -e
# m  h   dom mon dow    command
 30  *    *   *   *     php /path/to/run.php

Здесь для примера указан запуск в половине каждого часа. Можно сделать чаще. Например, каждые десять минут:

#   m  h   dom mon dow  ... ...
 */10  *    *   *   *   ... ...

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

В других операционных системах воспользуйтесь встроенными средствами запуска задач и команд по расписанию.

Автор