Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maximal/alfabank-business-checker

Automated transactions and balance checks for Alfa-Bank Business account (Russian)
https://github.com/maximal/alfabank-business-checker

alfa-bank php telegram telegram-bot

Last synced: about 1 month ago
JSON representation

Automated transactions and balance checks for Alfa-Bank Business account (Russian)

Awesome Lists containing this project

README

        

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

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

Скрипт с помощью [вебдрайвера](https://chromedriver.chromium.org/downloads) входит в режиме «инкогнито» на сайт «[Альфа.Бизнес Онлайн](https://link.alfabank.ru/)» в браузере «Хромиум» или родственном ему, проверяет последние платежи, и, если со времени предыдущей проверки появились новые записи, присылает обновлённый баланс и историю последних операций [Телеграм-ботом](https://core.telegram.org/bots) в указанный пользователем чат.

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

## Установка

1. Зарегистрируйте [нового Телеграм-бота](https://core.telegram.org/bots#3-how-do-i-create-a-bot) или возьмите токен уже существующего.
Токен имеет вид: `666666666:AABBCC-DDEEFF_11223344556677889900`, где часть до двоеточия — цифровой идентификатор бота, и часть после двоеточия — случайный набор букв, цифр, дефисов, подчёркиваний.

2. Склонируйте этот репозиторий или скачайте архив со скриптом и установите зависимости [Композером](https://getcomposer.org/):
```sh
composer i
```

3. Скачайте нужную версию [вебдрайвера](https://chromedriver.chromium.org/downloads) (в зависимости от вашей операционной системы и версии браузера) и положите файл в каталог `selenium`.

4. Скопируйте файл-шаблон `.env.example` в новый файл `.env`. После чего пропишите доступ к онлайн-кабинету Альфа-банка и прочие параметры в новом файле `.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](https://t.me/UserInfoBot): напишите ему что угодно и в ответном сообщении получите ID.

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

## Запуск

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

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

В Линуксе воспользуйтесь кроном:
```crontab
# Файл: /etc/cron.d/alfa-business-checker
# m h dom mon dow user command
30 * * * * max php /path/to/run.php
```
или кронтабом:
```crontab
# crontab -e
# m h dom mon dow command
30 * * * * php /path/to/run.php
```

Здесь для примера указан запуск в половине каждого часа. Можно сделать чаще. Например, каждые десять минут:
```crontab
# m h dom mon dow ... ...
*/10 * * * * ... ...
```

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

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

## Автор
*
*
* Телеграм: [@maximal](https://t.me/maximal)