Структура социального робота
Социальный робот реализован на Perl 5. Основная его задача - поддерживать обмен сообщениями между группой в социальной сети FriendFeed и аккаунтом конференции в twitter.
Правила, которые он реализует следующие:
экспортировать в twitter сообщения, которые опубликованы определенными пользователями FriendFeed или админами группы;
экспортировать в twitter записи, отмеченные like администраторами группы;
импортировать в группу friendfeed новые сообщения из аккаунта twitter.
И кончно же он соблюдает обязательные законы робототехники [1]
Структура робота
Общую последовательность действий при обмене сообщениями можно представить в виде следующих шагов:
получаем записи из friendfeed и twitter;
пропускаем ранее опубликованные записи;
публикуем оставшиеся сообщения в необходимом сервисе;
запоминаем новые опубликованные сообщения.
Как видно, нам необходимо:
знать как получить список сообщений из обоих социальных сетей;
потребуется где-то хранить информацию о ранее опубликованных сообщениях
уметь публиковать новые сообщения из группы friendfeed в twitter и наоборот.
Более близкая к реализации схема выглядит следующим образом:
В качестве хранилища используется XML файл. Его содержимое при чтении преобразуется в Хэш, а по завершении работы сохраняется обратно в виде XML. Данный способ прост и нагляден.
Остальные функциональные блоки робота реализованы в виде модулей библиотеки Flow
и скомпонованны затем в pipe.
[1]Три закона робототехники. http://ru.wikipedia.org/wiki/Три_закона_роботехники