LINUX.ORG.RU
ФорумTalks

Отправка смс-оповещений (лайфхак)


0

0

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

1) Заходим на http://www.google.com/calendar в настройки, выбираем вкладку «Настройка для мобильных устройств» Вводим свой телефон в соответствующее поле. Подтверждаем, что это ваш телефон путем ввода кода подтверждения из пробной смски, которую гугл отошлет на указаный номер. В поле «статус» на той-же вкладке должна появится зеленая птичка и надпись «Номер телефона успешно проверен»

2) Скачиваем скрипт работы с календарем gcalcli: http://code.google.com/p/gcalcli/ Кстати, пока писал статью, случайно обнаружил, что эта программа есть в репозиториях убунты. Не знаю, как она настраивается, поэтому лучше всё-таки скачать эту. Тем более что для установки достаточно пары комманд. Последний коммит был в 2007 году, но с тех пор ничего не поменялось (плюс в карму гугла) и скрипт отлично работает.

wget http://gcalcli.googlecode.com/files/gcalcli-1.4.tgz
tar xfv gcalcli-1.4.tgz
rm gcalcli-1.4.tgz

3) Далее создаем конфиг для gcalcli: В домашней папке создаем файл .gcalclirc с таким содержанием:

[gcalcli]
user: USERNAME
pw: PASSWORD

На самом деле настроек гораздо больше, смотреть ./gcalcli --help Но на деле этих вполне достаточно для работы из скриптов.

4) Заветный скрипт sendsms (по аналогии с sendxmpp, sendmail и др.) (перед запуском перейдите в папку со своими скриптами. например, ~/bin/ или, как у меня, ~/scripts/)

wget http://dl.dropbox.com/u/3926517/scripts/sendsms && chmod +x sendsms
Откройте скрипт и поменяйте значение переменных GCALCLI и LOG на свои (GCALCLI - путь к gcalcli, LOG - путь к лог-файлу) Теперь создадим символьную ссылку на него в папке /bin
sudo ln -s ~/ВАША_ПАПКА/sendsms /bin/sendsms

5) И, наконец, использование: В любых скриптах вы можете написать

echo "Test message" | sendsms
И через минуты 2 вам придет сообщение с похожим текстом «Напоминание: Test message @вс, 16 май 11:42 (antigluk@gmail.com)»

Profit!

Подробности

Перемещено Aceler из Linux General

>>И через минуты 2 вам придет сообщение с текстом «Напоминание: Enlarge your penis!!! @вс, 16 май 11:42 (asfdasdfafsdafas@mail.ru)»

flinks ()

Круто. Какой лимит на отправку сообщений? А то я юзал скрипт, который подключался к mail.ru (изображая mail.ru agent), и там было 10 смс в день на номер.

amomymous ★★★ ()

На хабре год назад штук 10 таких статей подряд было.

CliffStiff ()
Ответ на: комментарий от amomymous

Тут ограничений не видел, но отправлять можно только на один номер, который настроен в гуглокалендаре

antigluk ()

Кросспост школьника с welinux'а? А скрипт настолько примитивен, что даже в толксах выкладывать стыдно такое:

#!/bin/bash

GCALCLI=gcalcli
LOG=~/log

if [ ! -f "`which gcalcli 2>/dev/null`" ]; then
 echo "Для работы скрипта необходим gcalcli"
 exit
fi

time_h=`date "+%H" | bc`
time_m=`date "+%M" | bc`
time_m=$((time_m+3))

if [ $time_m -gt 59 ]; then
time_m=3
time_h=$((time_h+1))
if [ $time_h -gt 23 ]; then
sleep 100
time_h=0
time_m=3
fi
fi

if [ $time_h -lt 10 ]; then
time_h="0${time_h}"
fi
if [ $time_m -lt 10 ]; then
time_m="0${time_m}"
fi

read text
$GCALCLI --nc quick "$text $time_h:$time_m"

echo "SMS SENT: $text $time_h:$time_m" >> $LOG
GotF ★★★★★ ()
Ответ на: комментарий от amomymous

На сайте МТС посмотри. Хотя там, как минимум, капча.

GotF ★★★★★ ()

A я бы просто отправлял себе сообщения на адрес 7920xxxxxxx@sms.megafoncenter.ru

firestarter ★★★☆ ()

Яндекс тоже умеет отправлять SMS с напоминаниями.

Sphinx ★★☆☆ ()
Ответ на: комментарий от firestarter

опять же - ограничения на кол-во смсок. Причём там вообще сурово (числа не точные): 50 в день, 100 в неделю, 200 в месяц. Мог ошибиться в единицах, но не в порядках. У гугла ограничение было (кажется) в 50 событий в день. Насчёт недельных/месячных не видел.

И вообще... всё что я написал не имеет пруфлинков, а значит - сплошое 4.2

spunky ★★ ()
$ echo "Test message" | sendsms
$ ls 
ls: cound not open /lib/libc.so
$ cd / 
$ echo *
lost+found
$ 

0_o ??

a_nan ()
Ответ на: комментарий от amonymous

блин, чувак, ты меня напугал. я сначала решил, что у меня аккаунт угнали

amomymous ★★★ ()
Ответ на: комментарий от NuclearPhoenix

дело два года назад было, лень искать. рабочий код можно нагуглить по «mail.ru agent sms flooder».. а моя прога кидала мне свежие цитаты с бора, так что заменил я только источник текста sms

amomymous ★★★ ()
Ответ на: комментарий от amomymous

Нашел уже... но автор был явно упорот, и код такой что ппц... придется причесывать...

NuclearPhoenix ()
Ответ на: комментарий от amomymous

>блин, чувак, ты меня напугал. я сначала решил, что у меня аккаунт угнали

О_о Я аж сам испугался.

amonymous ()

ёханые костыли. смс не нужны. поставь jabber-клиент на мобилу. profit.

cobold ★★ ()
Ответ на: комментарий от antigluk

> интернет - дорого

1 СМС(140 байт) - 1,5 рубля
1 Мб internet трафика - 7 рублей

cobold ★★ ()
Ответ на: комментарий от amonymous

Мне почему-то кажется, что тебя несколько...

Xellos ★★★★★ ()
Ответ на: комментарий от firestarter

>A я бы просто отправлял себе сообщения на адрес 7920xxxxxxx@sms.megafoncenter.ru

Ещё можно на 7905xxxxxxx@sms.beemail.ru

Правда, естественно, предварительно разрешив приём (06849909) и разрешив склейку длинных сообщений (06849908).

KRoN73 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.