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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



[10] Три закона робототехники. http://ru.wikipedia.org/wiki/Три_закона_роботехники