LINUX.ORG.RU

Сообщалка: программа для общения в команде

 , , , ,


1

3

Так как меня не устраивали существующие мессенджеры для локальной сети, я написал свой. Если у кого-то ещё сходные требования, можете пользоваться.

Что умеет Сообщалка:

  • общий список всех сообщений от всех собеседников;
  • отбор сообщений по собеседнику или группе собеседников (группы добавляются и редактируются администратором);
  • отправка сообщений собеседнику или группе;
  • поиск по регулярному выражению;
  • просмотр сообщений за указанную дату или несколько дней перед датой;
  • позволяет отметить факт ознакомления с сообщением одним щелчком;
  • позволяет вставлять в сообщение изображения в любое место (как принято в письмах и как нет в мессенджерах);
  • позволяет цитировать сообщения (в том числе несколько в одном сообщении) и по щелчку переходить к процитированному;
  • позволяет редактировать отправленное сегодня сообщение и хранит историю;
  • серверная часть хранит сообщения в каталоге в виде читаемых файлов, изображения в одном экземпляре;
  • полностью переносима в рамках Windows/Linux/MacOS, работает на любой архитектуре процессора;
  • не имеет внешних зависимостей, кроме языка программирования Racket.

Что не умеет и вряд ли будет:

  • шифрование канала: если надо, можно ставить stunnel;
  • много пользователей: интерфейс на данный момент не предполагает прокрутку списка пользователей, но за счёт этого все данные на сервере в памяти и работает очень быстро;
  • вложение файлов: я считаю, что если файл нужен, то его надо выкладывать на файловый сервер и давать ссылку, а не превращать средство общения в хранилище файлов;
  • видео и аудио: если надо позвонить, логичнее кинуть ссылку на jitsi или что в команде принято.

>>> Исходники

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 7)
Ответ на: комментарий от monk

она почти все на свете умеет :о) (из разговоров и выкусов в инете, втч на хабре)
сам я пользуюсь только 4 и 7й версией (старой)

sunjob ★★★★★
()
Ответ на: комментарий от jo_b1ack

Видел. Написал в поиске «sup.*or», получил «super» и не получил «support».

Если бы допиливал, то его.

monk ★★★★★
() автор топика
Ответ на: комментарий от sunjob

Старой я тоже пользовался. Кстати, чуть ли не самый простой способ написать приложение, которое запустится на любом Линуксе — написать на старом Delphi и запускать через Wine. Всё остальное упирается в наличие библиотек, графических протоколов и прочего.

monk ★★★★★
() автор топика
Ответ на: комментарий от monk

это тоже да, старая великолепно работает под вайном (как раз старые свои проекты так и крутил, пока не «шарахнуло» - «доколе, давай переписывай на лазаря») :о)

sunjob ★★★★★
()
Ответ на: комментарий от CrX

Думал, там подпункты, а из них уже действия.

Там одно меню, в нём действия. Я лучше добавлю каноничные Правка и Справка, чтобы панель меню была оправдана.

monk ★★★★★
() автор топика
Ответ на: комментарий от monk

По данным top RES 378МБ, VIRT 1144.

чего-та много для чатика

Можно просто поставить большое количество дней просмотра и скопировать через Ctrl-C.

Форматирование и прочие картинки сохранится по Ctrl-C? Опять же выделять много сообщений неудобно.

А зачем? Если резервную копию, то логичнее на сервере. Импорт этой истории ведь никуда не сделать

ну типовая же ситуация - обсудили с коллегой некий нетривиальный технический вопрос (с табличками, кусками кода и т.п.). Потом в ход этого обсуждения нужно посвятить другого коллегу (средствами IM), и ещё другого коллегу но уже по e-mail, а также приложить дискуссию к воркайтему в системе управления проектами. Само собой без потери информативности и чтобы читалось стандартным средствами.

А как определять, когда этот файл удалять? А если этот файл получатель потом ещё раз перешлёт, то на сервере их уже два будет? А если пользователь многогигабайтный архив отправить, он тоже на сервер надолго ляжет? Или как в почте ставить ограничение на 10 мегабайт?

Поэтому у меня в итоге отдельно сообщалка и отдельно сетевое хранилище файлов.

ты не понял, файлы хранятся не на сервере твоей сообщалки, а на том самом сетевом хранилище данных. IM клиент просто выкладывает файл в личную директорию пользователя и вставляет гиперссылку в переписку.

MirandaUser2 ★★
()
Ответ на: комментарий от MirandaUser2

чего-та много для чатика

Так лисп. Компилятор является неотъемлемой частью приложения.

Форматирование и прочие картинки сохранится по Ctrl-C?

Да. Но вставлять надо в сообщалку или текстовый редактор Racket.

Опять же выделять много сообщений неудобно.

Поставил курсор в начало, промотал в конец, зажал Shift и щёлкнул.

ну типовая же ситуация - обсудили с коллегой некий нетривиальный технический вопрос (с табличками, кусками кода и т.п.). Потом в ход этого обсуждения нужно посвятить другого коллегу (средствами IM)

Если разово, то копирую. Если предполагается длительное общение и возможно подключение кого-то ещё, то создаю группу и дальше пишем в получателя-группу. Если кого-то подключаешь к группе, он видит все сообщения в группу.

IM клиент просто выкладывает файл в личную директорию пользователя и вставляет гиперссылку в переписку.

Предлагаешь в IM интегрировать Samba/NFS/FTP/SFTP/Yandex-диск/диск-о/…? Можно, но надо придумать, как это достаточно удобно сделать. Сейчас мне быстрее скопировать по отдельному ярлыку на столе. К тому же, если скопировал по отдельному ярлыку, то после подтверждения получения его легко удалить. А так в IM ещё и кнопку для удаления файла делать? А если это каталог (например, дистрибутив), то как? Делать в IM переключатель «выбрать файл»/«выбрать каталог»?

В общем, на мой взгляд, настолько же странное желание, как идея, что cat должен нумеровать строки.

monk ★★★★★
() автор топика

Определённо нужно.

Но и передача файлов тоже нужна, и возможно даже с явным разделением «через сервер» и «напрямую».

kirill_rrr ★★★★★
()
Ответ на: комментарий от monk

Хорошо что вы можете объяснить куд он это использует. А с Максом есть только плохие и очень плохие догадки.

kirill_rrr ★★★★★
()
Ответ на: комментарий от kirill_rrr

Догадка тут одна, но она воистину ужасна: современные ИТ прокляты.

ugoday ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.