13:53 

Осваиваю gnu freetalk

domov0y
домовой
Сие есть заметка для людей решивших научиться сидеть в жаббер из консоли.

После отсылки сообщения чат устанавливает в умолчание jid человека которому было отослано последнее сообщение. и дальше можно писать сообщение тупо без команд.
есть автодополнение команд и адресов из ростера. Есть автодополнение слов, что однако удобно.

Самый главный вопрос: как отослать сообщение из freetalk?
есть команда /history [jid] показывающая историю
есть команды плакать /greet jid (передает никнейм контакта повторяющимися буквами например dddooommmooovvv000yyy)
есть команда кричать /burst message (аналогично предыдущей команде. только произвольный message указанный в качестве аргумента)
есть команда послать сообщение всем /broadcast message
Есть команда переслать stdout скрипта клиенту /pipe jid ls -al
Но команды отослать сообщение одному клиенту нет.

В первые сутки знакомства для того чтобы переключиться на чат писал /pipe jid echo ""
ибо других способов отослать сообщение я не находил. Даже когда полностью прошерстил info freetalk и веб документацию, я не нашел как послать сообщение без плясок с бубном.

потом мне надоело и я полез в исходник.
Первая мысль была : делать расширение. Но после пяти попыток, я отказался от этой идеи. Не настолько я сошел с ума чтобы писать на лиспе без ошибок и с первого раза.
Полез в исходники на си.

Оказалось, что все предельно просто.
тупо пишем ник или jid ставим : и пишем текст сообщения
например
test>domov0y@diary.ru: вот так пишется сообщение. Тупо вводим jid, ставим : и пишем текст сообщения.
domov0y@diary.ru>дальше сообщения можно писать без каких либо команд

самое забавное, что даже редкие любители строить ботов на freetalk отсылают сообщение с помощью sendxmpp. И все потому, что автор программы посчитал что синтаксис отправки сообщения одному клиенту очевиден

URL
Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?

Хроники эксперимента

главная