Структура социального робота

Социальный робот реализован на Perl 5. Основная его задача - поддерживать обмен сообщениями между группой в социальной сети FriendFeed и аккаунтом конференции в twitter.

Правила, которые он реализует следующие:

  • экспортировать в twitter сообщения, которые опубликованы определенными пользователями FriendFeed или админами группы;

  • экспортировать в twitter записи, отмеченные like администраторами группы;

  • импортировать в группу friendfeed новые сообщения из аккаунта twitter.

И кончно же он соблюдает обязательные законы робототехники [1]

Структура робота

Общую последовательность действий при обмене сообщениями можно представить в виде следующих шагов:

  • получаем записи из friendfeed и twitter;

  • пропускаем ранее опубликованные записи;

  • публикуем оставшиеся сообщения в необходимом сервисе;

  • запоминаем новые опубликованные сообщения.

Как видно, нам необходимо:

  • знать как получить список сообщений из обоих социальных сетей;

  • потребуется где-то хранить информацию о ранее опубликованных сообщениях

  • уметь публиковать новые сообщения из группы friendfeed в twitter и наоборот.

Более близкая к реализации схема выглядит следующим образом:

Структура социального робота

В качестве хранилища используется XML файл. Его содержимое при чтении преобразуется в Хэш, а по завершении работы сохраняется обратно в виде XML. Данный способ прост и нагляден.

Остальные функциональные блоки робота реализованы в виде модулей библиотеки Flow и скомпонованны затем в pipe.