Wiki

Clone wiki

smssend.lua / Документация утилиты командной строки

Опции командной строки:

--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 – Ошибка использования утилиты.

Updated

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.