Некоторые операторы возвращают информацию о балансе не в USSD ответе, а в СМС. Теперь USSD-widget может справиться с этим. Изменения:
- обработчик SMS
- Группы, найденные регулярными выражениями могут быть использованы в обработчиках
Если ваш оператор отправляет ответы в виде СМС, то нужно включить обработчик СМС. Затем указать условия фильтрации: номер, с которого приходят сообщения и/или регулярное выражение, описывающее часть сообщения. Если условия фильтрации указаны, неподошедшие сообщения будут проигнорированы.
Длинные СМС также поддерживаются. Будет использовано первое подошедшее сообщение.
По-умолчанию текст из СМС нигде не отображается, так что придется установить обработчик, например:
просто покажет полный текст сообщения.
Группы, найденные регулярными вражениями
Я слегка изменил сиснтаксис обработчиков. Теперь % и & всегда означают ту строку, которую прислал оператор, даже если регулярное выражение было указано. Но вы можете указать конкретные группы, найденные регулярными выражениями используя %N, где N означает номер группы. Например, если 1ая группа соответвуетбалансу, а 3я количеству оставшихся минут, вы можете использовать обработчик в следующем духе:
echo Баланс: %1 Минут: %3