smssend.lua & smsrulib, Работа с SMS из Lua. |
Здравствуйте, гость ( Вход | Регистрация )
smssend.lua & smsrulib, Работа с SMS из Lua. |
19.5.2013, 12:04
Сообщение
#1
|
|
Site Reliability Engineer Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз |
Собственно думаю раздел подходящий, для
Утилита командной строки:
Модуль:
Репозиторий: Лицензия: GNU GPLv3 Описание: Примитивный модуль для работы с API сервиса SMS.ru. А так-же "утилита" командной строки *nix, которая по большей части пример работы данного модуля. У меня используется например для отравки некоторых уведомлений из систем мониторинга IT-инфраструктуры, HelpDesk, 2-step authentication etc. Документация утилиты командной строки Опции:
Действия Основная часть построена на действиях. Допустим, если вы хотите получить баланс, нужно указать действие: --action=balance Доступные действия:
Примеры Практически всегда надо указывать аргументы 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 обычно завершается с определёнными кодами.
Краткая документация модуля Подключение модуля: Код smsrulib = require"smsrulib" Инициализация модуля: Код sms_client = smsrulib.init(login, password) Проверка аутентификации. (Происходит при инициализации на уровне модуля): Код sms_client:test_auth() Получение хэша sha512(password+token) Код sms_client:get_crypt_key() Получение токена: Код sms_client:get_token() Отправка сообщения: Код sms_client:send(to, text[, from, time, translit, test]) Получение статуса отравленного сообщения: Код sms_client:status(id) Получение стоимости сообщения на указанный номер и количество сообщений, необходимых для его отправки: Код sms_client:cost(to, message) Получение баланса: Код sms_client:balance() Получение текущих лимитов: Код sms_client:limit() Добавление номера to в stop-list c причиной reason: Код sms_client:stoplist_add(phone, reason) Удаление номера из stop-list: Код sms_client:stoplist_del(phone) |
|
|
|
Сейчас: 26.11.2024, 20:49 |