Опции:
- --help — Показать справку по опциям
- --version — Показать версию утилиты
- --login — Устанавливает логин на сервисе sms.ru
- --password — Устанавливает пароль на сервисе sms.ru
- --action — Выбрать действие для запуска. (Подробности ниже)
- --to — Адрес, куда слать сообщения
- --message — Не читать стандартный поток ввода. Будет отправлено сообщение, которое указано в качестве значения данного аргкумента.
- --from — Имя отправителя (Должно быть согласованно с администрацией сервиса sms.ru
- --time — Время отправки, указывается в формате UNIX TIME.
- --translit — Переводить все русские символы в латинские.
ДействияОсновная часть построена на действиях. Допустим, если вы хотите получить баланс, нужно указать действие:
--action=balance
Доступные действия:
- send – Отправка сообщения. (Если вы хотите просто отправить сообщение, указывать не обязательно.
- status – Статус отправленного сообщения.
- cost – Возвращает стоимость сообщения на указанный номер и количество сообщений, необходимых для его отправки.
- balance – Получение баланса.
- limit – Получение текущего состояния вашего дневного лимита.
- stoplistadd – На номера, добавленные в стоплист, не доставляются сообщения (и за них не списываются деньги)
- stoplistdel – Удаляет один номер из стоплиста
ПримерыПрактически всегда надо указывать аргументы login и password.
Отправка сообщения, без указания агрумента message на номер 79099999999:
Код
$ lua ./smssend.lua --login=79030000000 --password=mysuperpassord --to=79099999999
Hello. This is test sms message. Sent from smssend.lua (New version).
Мы будем должны получить сообщение:
Цитата
Hello. This is test sms message. Sent from smssend.lua (New version).
Ещё один пример, используя stdin:
Код
$ echo "Hello. This is test sms message. Sent from smssend.lua (New version)." |lua ./smssend.lua --login=79030000000 --password=mysuperpassord --to=79099999999
Отправка сообщения используя агрумент message:
Код
$ lua ./smssend.lua --login=79030000000 --password=mysuperpassord --to=79099999999 --message='Hello. This is test sms message. Sent from smssend.lua (New version).'
Однако, мы посторались придумать варианты, когда в агрументах явно не надо указывать логин и пароль.
Первый вариант, возможно записать их в ~/.smssendrc:
Код
echo '79030000000:mysuperpassord' | tee ~/.smssendrc > /dev/null
chmod 600 ~/.smssendrc
После любой из приведённых примеров, без агрументов login & password.
Ещё один вариант:
Код
$ lua ./smssend.lua --to=79099999999 --message='Hello. This is test sms message. Sent from smssend.lua (New version).'
Enter login: 79030000000
Enter password:
Retype password:
Вводимый пароль видно не будет.
Проверка статуса отправленного сообщения.
Сервис возвращает идентификатор каждого отправленного сообщения. Порой мы можем захотетить проверить, доставлено ли оно:
Код
$ lua ./smssend.lua --action=status --message='0000-99'
0000-99: Сообщение не найдено.
С реальным сообщением выводимая информация конечно будет по другому…
Проверка стоимости сообщения, и кол-во сообщений, необходимых для его отправки:
Код
$ lua ./smssend.lua --action=cost --message='Hello. This is test sms message. Sent from smssend.lua (New version).' --to=79099999999
Cost: 0.22
SMS Count: 1
Проверка баланса:
Код
$ lua ./smssend.lua --action=balance
Balance: 6.43
Получение лимитов:
Код
$ lua ./smssend.lua --action=limit
Day limit: 10
Messages (Count) sent today: 0
Добавление номера 89093000000 в stop-list:
Код
$ lua ./smssend.lua --action=stoplistadd --to=89093000000 --message=test
Удаление номера из stop-list:
Код
$ lua ./smssend.lua --action=stoplistdel --to=89093000000
Возвращаемые кодыКак и большинство утилит командной строки UNIX, утилита smssend.lua обычно завершается с определёнными кодами.
- 0 – Успешно
- 1 – API сервиса верунул ошибку
- 2 – Ошибка использования утилиты.