- PVSM.RU - https://www.pvsm.ru -

Twitter уже для многих людей стал повседневным средством общения и получения информации. Лично я каждый день открываю его по несколько раз с телефона, да и на десктопе клиент запущен постоянно.
Возникла идея, что неплохо бы получать через него какие-то напоминания, раз уж я пользуюсь им каждый день.
За вечер был написан небольшой бот для напоминаний.
Само собой первая мысль была найти аналоги. Несколько таких сервисов можно найти после недолгого гугления.
Но меня они не устроили по нескольким причинам.
Некоторые такие сервисы предлагают заполнить форму на сайте и чуть ли не создать на нём аккаунт. Многие на английском языке, что не всем удобно (хотя кому-то это покажется плюсом). Многие предлагают отправить уведомление только в определённый день, без привязки ко времени.
Конечно, есть множество способов настроить себе уведомления и напоминания — множество календарей, как онлайн-сервисов с смс-напоминаниями, так и программы для десктопов и телефонов (например, календарь от Apple, который синхронизируется между устройствами по iCloud). Но всё это заставляет делать лишние действия — открыть календарь, добавить событие, заполнить… Но всё ведь можно сделать гораздо проще, простой текстовой строкой (любители работать в консоли, думаю, понимают, о чём я).
Уж коли Twitter-клиент открыт постоянно на десктопе, да и мобильный клиент открывается несколько раз в день — почему бы просто не написать твит, который вернётся в нужное время. Не нужно открывать что-то ещё, или вспоминать сайт/искать его в закладках, на котором можно сделать напоминалку.
За вечер был написан, скажем так, бот. Не знаю, чего хотелось больше — сделать удобный для себя сервис или попрактиковаться в работе с API Twitter. Зарегистрировал для него аккаунт — слово «напоминаю» на транслите, чтобы было легко запомнить.
Пользоваться им просто, нужно просто отправить твит формата:
@napominau [1] день.месяц час: минута сообщение с напоминанием
Например:

Бот реализован в виде php-скрипта на серверной стороне. Общение с Twitter API на PHP я опущу, немало статей об этом написано. В общем выглядит всё так:

Таким образом в указанное время пользователь получает написанное им же напоминание:

На мой взгляд, к плюсам такого «бота» можно отнести:
Технических сложностей было не много — запросы гоняются через CURL по REST API, данные в формате JSON. Были проблемы при запоминании id твитов — на сервере большое число преобразовывалось в формат вроде 1.0542197938321E-081, а т.к. последний id используется для последующих запросов — это вызывало проблемы при отправке запроса с параметром since_id — API возвращал ошибку. Правда потом в возвращаемых данных было обнаружено поле id_str — тот же ID только в виде текстовой строки, а не числа, это решило проблему.
У API Twitter есть ограничения [2] на число обращений к API — 150 запросов неавторизованных запросов в час, 350 авторизованных в час. Однако на POST-запросы это не распространяется. Забирая твиты раз в минуту мы используем лишь 60 запросов в час, этого с лихвой хватает. А отправка твитов — без ограничений. Поэтому упереться в лимиты по идее бот не должен.
Буду рад, если кому-то бот покажется полезным. Способ использования вынесен в описание аккаунта @napominau [1].
P.S. Я бы на месте многих сервисов задумался насчёт своих ботов — принимать какие-нибудь заявки/заказы через Twitter — по-моему людям это удобно.
Автор: Makaveli
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/php-2/2717
Ссылки в тексте:
[1] @napominau: http://twitter.com/napominau
[2] ограничения: https://dev.twitter.com/docs/rate-limiting#rest
Нажмите здесь для печати.