| huze ( @ 2008-09-26 15:23:00 |
http://huze.ru/2008/09/26/irc-bloging/
Спонсор поста — Узнать цены на наращивание волос любой технологии.

Найти что-то технологически и идеологически новое в наше время становится всё сложнее. Так было всегда, так всегда и будет. =) Большинство загорающихся звёзд в интернете — это ресурсы, в основе которых стоит гибридное соединение каких-либо уже существующих и успешно применяющихся технологий. Далеко за примером идти не придётся: мешапы на основе Google Maps видел каждый из вас.
Большинство таких новых ресурсов так и остаются на дне общественной заинтересованности, но всё же кому-то удаётся открыть настолько дикое сочетание, что успех и всеобщий ажиотаж вокруг новичка держатся довольно долгое время. А теперь, после этого вступления, я хочу предложить Вам идею IRC-блогинга.
IRC (англ. Internet Relay Chat — ретранслируемый интернет-чат) — сервисная система, при помощи которой можно общаться через сеть Интернет с другими людьми в режиме реального времени.
Wikipedia.org.</p>
Это определение мне очень напоминает одну очень распространённую технологию, с которой каждый из Вас совершенно точно сталкивался. Это определение практически на 100% подходит для блогов.
На самом деле, действительно, логическая сущность обоих этих технологий предоставляет одному индивиду опубликовать некую информацию, а другим — отреагировать (или не отреагировать, что, по науке, тоже есть результат) на неё. И блоги, и IRC являются сервисными системами, то есть, связаны с предоставлением услуг пользователям. Обе технологии предусматривают обратную связь между субъектами обмена информацией (тавтология, ведь обмен и так двунаправленная связь по сути). Пункт про реальное время тоже прекрасно вписывается в наше сравнение. =)
С точки зрения пользователя, IRC представляет собой сервер, который поддерживает множество виртуальных чатов — каналов. Также любой IRC-сервер поддерживает приватные беседы между участниками. Ещё одной важной чертой IRC-сетей является возможность подключения и настройки поведения автономных модулей, исполняющих какие-либо функции — ботов (наиболее распространены боты, созданные на Eggdrop, язык программирования — Tcl).
Теперь предположим интеграцию одной технологии с другой. Принципиальных различий мы не выявили, так что проблем возникнуть не должно. Суть моей идеи состоит в том, чтобы написать бота, позволяющего любому зарегистрированному пользователю с помощью простых команд вести блог в среде IRC, а также читать блоги других людей, комментировать их посты и просматривать ленты друзей. Кто-то сразу же скажет, что, мол, это неудобно и прошлый век, давно уже существуют блоги и незачем плодить сущности. =) Что ж, попробуйте убедить в этом сотни тысяч людей, по сей день с удовольствием пользующихся IRC-сетями для общения, игр и даже для зарабатывания денег. =)
Как обычно, тезисы:
Логическая единица информации (ЛЕИ)
ЛЕИ IRC-блога можно называть не постом, а, к примеру, заметкой или цитатой, так как механизм наиболее подходит для сохранения понравившихся высказываний или для увековечивания небольших мыслей. Привет, микроблог!
Система хранения
Eggdrop-бот умеет общаться с БД MySQL посредством модуля mysql.mod, так что проблем с организацией и хранением данных не должно возникнуть. Почему SQL, а не файлы plain text выдуманной структуры и формата? Потому что SQL позволяет задавать условия поиска и вообще для таких ресурсов ничего лишнего выдумывать не нужно. =)
Пример работы
Ниже для наглядности и упорядочивания своих борзых и неспокойных мыслей я привожу пример общения пользователя с ботом.
<user> pass 123456789
<blogobot> Авторизация прошла успешно. Для вывода всех доступных команд введите !help
<user> !help
<blogobot> Список доступных для Вас команд:
<blogobot> addfriend comments friends
<blogobot> help logout newcomment
<blogobot> newpost posts settings
<blogobot> Для вывода справки по какой-либо команде введите !help <имя_команды>, например, !help help.
<user> !help newpost
<blogobot> newpost - переход в режим создания новой статьи.
<blogobot> Синтаксис: !newpost
<blogobot> Примечание: После входа в режим создания новой статьи становятся доступны следующие команды: title startbody stopbody addtag addrelative addrecipient showall endpost. В случае успешного создания статьи, ей будет присвоен уникальный идентификатор в пределах всей системы (UID) и порядковый номер Ваших личных статей.
<user> !newpost
<blogobot> Вы вошли в режим создания новой статьи.
<user> !title Как заземляют электронику в самолёте?
<blogobot> Заголовок установлен.
<user> !startbody
<blogobot> Вводите текст, он станет телом статьи. Завершите ввод командой !stopbody
<user> Вот что-то возник вчера вопрос, до сих пор маюсь. =)
<user> И правда, как заземлить чувствительную электронику в самолёте?
<user> !stopbody
<blogobot> Тело статьи установлено.
<user> !addtag дурацкий вопрос
<blogobot> Добавлен тег.
<user> !help addrecipient
<blogobot> addrecipient - добавить целевого пользователя.
<blogobot> Синтаксис: !addrecipient <имя_пользователя>
<blogobot> Ограничения: доступно только в режиме создания новой статьи.
<blogobot> Примечание: все установленные целевые пользователи будут оповещены о Вашей новой статье.
<user> !addrecipient user2
<blogobot> Добавлен целевой пользователь.
<user> !showall
<blogobot> Заголовок: «Как заземляют электронику в самолёте?»
<blogobot> Тело:
<blogobot> Вот что-то возник вчера вопрос, до сих пор маюсь. =)
<blogobot> И правда, как заземлить чувствительную электронику в самолёте?
<blogobot> Тег: дурацкий вопрос
<blogobot> Целевой пользователь: user2
<user> !endpost
<blogobot> Статья записана. ID статьи - 17. UID - po725.