Jabber-to-Evernote Gateway

IM*

Преамбула


Какое-то время назад я писал о способах публиковать Evernote-заметки через джаббер. Способов тогда нашлось два: крайне медленный и неудобный (jabber -> tweet.im -> twitter -> evernote) через твиттер и неработоспособный (поскольку публичных траспортов не нашлось) через smtp-транспорт.

После таких неутешительных выводов я собрался немного с мыслями и написал своего джаббер-бота для постинга заметок в Evernote — его и представляю сегодня общественности.

Использование


Бот живет по адресу xmpp:evernote@neko.im. Для того, чтобы получить справку по командам, достаточно отправить ему сообщение с произвольным текстом (и добавить в ростер, чтобы он светил он-лайн статус) или сообщение с текстом «help» после регистрации. Для авторизации бота используется OAuth (из соображений безопасности пришлось отказаться от регистрации по логину и паролю).

Добавлю только, что элементы синтаксиса можно комбинировать в произвольном порядке: "(( Заголовок )) [[ Блокнот ]] Текст заметки" или "[[ Блокнот ]] (( Заголовок )) Текст заметки" — кому как удобнее. Также бот позволяет отправлять и заметку без текста (при этом заголовок обязательно должен быть указан).

Баг-репорты, конечно же, очень приветствуются.

Приятного использования!

P.S. Если хабрасообществу интересно, позже могу рассказать про процесс разработки и выложить исходники на python в соответствующем блоге — тем, кто собирается работать с Evernote API (и особенно OAuth), может пригодиться, потому что я почти не нашел хороших примеров на эту тему.
+27
3 июля 2009, 09:36
15
Sunshine 11,4

комментарии (29)

0
ArcKain #
вы все таки это сделали, поздравляю и спасибо :)
0
Sunshine #
Не за что, пользуйтесь. :) Сделал бы раньше, но переписка с саппортом заняла немного дольше времени, чем планировалось.
+2
svartalf #
Было бы очень интересно почитать про OAuth
0
ainte #
Исполнено:
oauth.net/documentation

=)
0
svartalf #
<irony>Преклоняюсь, белый-человек-умеющий-вызывать-духов-гугла.</irony>
Кроме чтения спецификаций было бы интересно почитать «заметки» человека, который уже с этим разбирался, и может указать на подводные камни и прочее.
0
Sunshine #
Напишу, но сразу предупреждаю, что упростил всё донельзя, чтобы не использовать лишних библиотек — такая реализация подойдет, скорее всего, только для Evernote (спасибо разработчикам API за это).
0
demshin #
Что-то бот в оффлайне и не отвечает. Это хабраэффект?
Идея очень интересная, пойдет как замена отсутствующему клиенту для Symbian.
0
Sunshine #
Поднялся, прошу прощения. :)
0
Reey #
0
demshin #
Это не так удобно, имхо, как отдельное приложение. А Talkonaut все равно почти все время запущен.
0
ivlis #
Исходники хорошо было бы!
0
Sunshine #
К вечеру постараюсь выложить с пояснениями.
0
MobyDick #
Спасибо, очень удобно!
Если есть возможность, добавьте чтение блокнота… К примеру, последних 10-и записей
0
Sunshine #
Не хочется перегружать бота сильно, но можно попробовать .) Обязательно подумаю над этим.
+1
rawing #
Отличная новость. В свете таких событий может быть даже начну пользоваться evernote.
Перефразируя известное изречение, Everything over XMPP and XMPP over everyting :-)
+1
ArcKain #
а что если после публикации бот давал бы ссылку на запись, как в джуйке)
0
Sunshine #
Сделано. Не знаю только, удобно ли будет тем, кто пользуется ботом со смартфонов и т.п.
0
Captcha #
Ааааа! Вот за эту штуку просто огромнейшее спасибо. Часто не хочется грузить страницу, чтобы записать что-нибудь важное, а джеббер — он всегда под рукой. Да и на работе у меня очень жёсткое ограничение трафика.
0
CBuH #
полезная штука, было бы интересно взглянуть на исходники.
0
S_talker #
Мегареспект за идею и реализацию! Вот только падает сервис частенько… Вот это огорчает
Поднимется — пощупаю более основательно, может парочку багрепортов и фичареквестов кину :)

Сразу же навскидку: чтение блокнота очень нужно. Причем нужно как чтение последних записей, так и выборка по определенному тегу. А чтобы не перегружать сервис запросами, можно поставить ограничение вида «не больше N запросов в M секунд».
0
Sunshine #
Стоял на домашней машине, связь тут не очень. Сейчас временно перенес, завтра перенесу еще раз — перестанет падать, надеюсь.

Чтение и поиск сделаю, благо выборку через API делать можно и дело это не сильно ресурсоемкое. Еще удаление просили, но на это уйдет чуть дольше — нужно писать в саппорт, потому что разрешенные действия указываются на стороне сервера.
0
lol2Fast4U #
Пожелание: чтобы можно было наоборот писать — без заголовка, только текст.
Отправил просто текст и он в стандартном блокноте с названием «Без заголовка».
0
Sunshine #
Так можно — заголовок подставляется, как Вы и описали.
0
lol2Fast4U #
>Также бот позволяет отправлять и заметку без текста (при этом заголовок обязательно должен быть указан).

Ага, только Мы этого не поняли из описанного выше текста (:
0
Captcha #
Ну вот, недолго проработал этот замечательный бот :(
0
Vzlom #
Да уж, жалко. Аналогов запущенных не видел, хотя бот и опенсурс. Может сделает кто?
0
Sunshine #
Делаю опять, скоро будет. Дело в том, что мой аккаунт на хостинге вместе с актуальными исходниками (которых больше нигде не было хотя бы потому, что я никак не ожидал такого) похитили пришельцы из соседней галактики, и поэтому бот работать перестал. У меня, признаться, опустились руки после такого, и вот только спустя полгода взялся заново довести бота до того состояния — с поиском и чтением заметок.
Заодно хочется переработать архитектуру — уже сделал бота мультипротокольным и посадил на Jabber + ICQ, в планах немного внутренних доработок.
Вот только проблемы с хостингом никуда не денутся — мне банально некуда его поставить.
0
Sunshine #
Пользуясь случаем, хочется извиниться перед всеми, кто ботом пользовался, за такие вот полугодовые «профилактические работы».
0
psy_AfterDark #
Сейчас, как я понимаю, он снова мёртв? :(

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