Делаем чат локальной сети на основе Skype

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

Многие его боятся потому что он якобы «сложный», кто-то скажет, что для его работы нужен интернет, другие найдут тысячу причин по которой они не любят скайп. На самом деле всё очень просто.

Почему для пользователей будет выгоден и удобен Skype:

  • Русский интерфейс
  • Регулярные автоматические обновления
  • Видео-звонки
  • Аудио-звонки
  • Передача файлов
  • Создание групповых чатов
  • Возможность отправлять SMS
  • Возможность звонить на стационарные и мобильные телефоны
  • Возможность импорта\экспорта контактов

Большего можно добиться использую плагины. Например, можно вместе рисовать что-то на доске в пятером. Вы не пробовали? А это весело :-)

Ещё одним достоинством являются мобильные версии Skype, они сейчас есть и под Symbian и для Iphone. Думаю, что пользователи Windows mobile тоже не остался в стороне.

Не нужно боятся за большой расход трафика за который вам нужно будет платить. Skype очень хитро устроен и всегда пытается соединиться напрямую с собеседником независимо от действия, которое вы запросили: отправка\приём файлов, видео\аудио звонок. Таким образом получаем, что если пользователи находятся в одной сети и могут быть соединены в обход интернета, то они соединятся напрямую.

Есть и ещё плюсы. Мне не интересно кто сейчас находится в чате. Абсолютно. Я их не знаю и не хочу. Они не висят у меня в списке и не напрягают :) Новых людей я могу добавить через поиск по логину в скайпе или емайлу.

А вы видели эти групповые чаты? Они просто супер. Вы можете создать «комнату» и пригласить в неё своих знакомых. Раздать им права модераторов, молчунов, писателей. Вы можете забанить кого-угодно или установить пароль на вход в комнату. Единственный недостаток — это отсутствие списка комнат, т.е. в комнату можно войти только по приглашению.

Я поэкспериментировал с настройками и создал свою комнату для читателей этого блога. Если у вас есть скайп, то вы можете присоединиться к ней нажав на картинку ниже:

Или нажав сюда.

Ограничение 200 человек на комнату\канал\чат. Вы можете все вместе созвонится и устроить аудио-конференцию. Можете отправить файл в комнату и его получат все. А теперь немного о командах, доступных создателю комнаты и остальным юзерам.

/alertsoff
Отключение уведомлений чата.
Работает как в Win7 (в win версии через GUI настройки) так и в Ubuntu.

/alertson [text]
Позволяет указать конкретно слова или текст для которых будут включены уведомления, например ваше имя.

/get banlist
Просмотр списка пользователей которым запрещено присоединяться к чату.

/get allowlist
Просмотр списка пользователей которым разрешено присоединяться к чату.
Я пологаю что это инверсная форма бан-лилста, то есть все что не разрешено — запрещено.

/get guidelines
Просмотр указаний или скорее правил для данного чата, сюда можно написать что то вроде: «в этом чате запрещено и т. д.».

/get xguidelines
Описания конкретного не нашел, дела обстоят в использовании так же как и с предыдущей командой.

/get options
Просмотр установленных опций. за время обзора нашел только одну, о которой описано в конце статьи.

/get password_hint
Просмотр подсказки пароля, не получилось не установить не посмотреть.

/get role
Просмотр своей роли в чате.

/kick [Skype_Name]
Удаляет пользователя из чата.

/kickban [Skype_Name]
Удаляет пользователя из чата и предотвращает его обратное туда возвращение. Обычные пользователи не могут вернуть как и редактировать банлист.

/leave
Покинуть чат. Не возможно если вы создатель чата.

/me
Выводит ваше имя в тексте сообщения, может быть использовано к примеру в таком случае: «/me считает что так должно быть, а не иначе».

/set allowlist [[+|-]mask]
Устанавливает соответствующий список пользователей

/set banlist [[+|-]mask]
Устанавливает соответствующий список пользователей

/set guidelines [text]
Устанавливает строку «правил» чата, которую я так и не увидел как просмотреть не используя команды /get -/- .

/set xguidelines [text] — по просту не нашел, хотя странно то что обратная команда /get для нее существует.

/set options
Устанавливает опции чата.
USERS_ARE_LISTENERS вот эта единственная которую я знаю, но скорее всего их больше.
эта опция запрещает всем пользователям писать сообщения в этот чат, но действует эта опция не на всех пользователей, ниже будет приведена иерархия ролей с описанием. Уже успел поиздеваться над друзьями исользуя эту функцию.

/set password [text]
Устанавливает пароль чата (пробелы запрещены).

/set password_hint [text]
Устанавливается подсказка для пароля.

/setpassword [password] [password hint]
Устанавливает пароль и подсказку одной командой.

/setrole [Skype Name] MASTER | HELPER | USER | LISTENER
Позволяет установить роль пользователю в чате описание ролей приведено ниже.

/topic [text]
Изменяет текст темы чата.

/whois [Skype_Name]
Показывает всевозможную информацию о пользователе Skype_Name.

/get uri
Возвращает ссылку на чат в виде skype:?chat&blob=smth, при клике на которую можно сразу присоединиться к чату.

Несколько из известных опций для /set options:

JOINING_ENABLED — Когда отключено, новые пользователи не могут добавляться в чат.

JOINERS_BECOME_APPLICANTS — Если включено, новые пользователи будут ждать подтверждения их добавления от группы MASTERS или CREATOR.

JOINERS_BECOME_LISTENERS — Если включено, то новые пользователи смогут только читать сообщения, но не отправлять их.

HISTORY_DISCLOSED — Если отключено, новые пользователи могут видеть сообщения добавленные ранее чем эти пользователи присоединились к чату. Лимит 400 сообщений или период в 2 недели (зависит от того, что будет достигнуто раньше)

TOPIC_AND_PIC_LOCKED_FOR_USERS — Если включено, то пользователи не могут менять тему и картинку чата

Описание ролей пользователей чата
CREATOR
Участник который создал чат. Может быть только один создаль для одного чата. Только создатель может назначать роль MASTER.

MASTER
В описании звучит как «chat hosts», я полагаю что это некая главная роль, что-то вроде модераторов в чате, знаю только ограничения. Master не может назначить других пользователей мастерами.

HELPER
Полу-привилегированный член чата. Этих пользователй не затронет опция USERS_ARE_LISTENERS. Helpers не имеют права менять роли пользователям.

USER
Обычный пользователь чата (роль по умолчанию, если вы не создатель), позволяет делать все что обычно делают в чате. Так же не имеют права менять роли пользователям (пока не проверено).

LISTENER
Пользователь который может читать сообщения из чата, но не имеет права писать сообщения в этот чат.

APPLICANT
Пользователь который ждет утверждение что бы попасть в чат. Пользователь не может быть понижен к этой роли если он был принят в чат. (пока не разрешен вопрос скорее эту роль получает пользователь которого пригласил пользователь с ролью низкого уровня).

Итого

Получается некая альтернатива IRC или любому другому чату.

При подготовке материала использовалась часть статьи: Список команд Skype.

Рекомендую прочитать:

About arti

Php-программист со стажем в 5 лет. Люблю путешествовать и знакомиться с новыми людьми. Женат на самой красивой и лучшей девушке в мире: Дашеньке.

, , , ,