KVIrcОсновы KVS: Мутим своё дополнение(часть 1).

Конечно описание всяких переменных и структур хорошее дело, но это же всё тягомотина.:) Чтобы было веселее я решил писать статьи немного в другом ключе. Просто поставим какую-нибудь задачку и попробуем её реализовать. А походу пьесы будем изучать возможности языка и его ключевые аспекты.

Все видели как некоторые пользователи пишут в канал то что у них воспроизводит проигрыватель. Попробуем и мы реализовать эту возможность в нашем дополнении.

За управление проигрывателем и получение данных от него у нас отвечает модуль языка KVS mediaplayer. В его состав входят определённые команды и функции их мы и будем использовать в своём скрипте.

Для начала попробуем создать простенький алиас. Откроем тестер сценариев, находится он в главное меню --> Инструменты --> Новый тестер сценариев, и нарисуем такой код.

alias(np)
{
	me listens $mediaplayer.nowPlaying
}


Теперь разберём что мы тут накодили.:)
alias(np) — это мы указали при помощи команды alias что создаём алиас с именем np. Всё что заключено в {} является телом алиаса. То есть сама исполняемая часть.
me listens $mediaplayer.nowPlaying — вот он наш вывод строки в канал. me — это у нас родная команда irc обозначающая что мы выполняем действие, при использовании стандартных команд сети в скриптах / не пишется. $mediaplayer.nowPlaying — это функция предоставленная модулем mediaplayer которая нам возвращает значение в виде артист-название_композиции. Все функции в KVS начинаются со значка $ так сто их спутать с чем-то довольно трудно. В помощи клиента есть обзор всех функции которые предоставляет язык. Довольно удобно реализован поиск и так же есть алфавитный указатель. Но всё это удобно только в том случае если вы с английским языком дружите.:)
После того как код написан мы нажимаем в тестере сценариев кнопку выполнить и наслаждаемся работой своего творения набрав в поле отправки сообщения в канал /np.:)
Вот что должно у вас получиться.

*alexzulu listens Nirvana - About A Girl


Но ведь нам так не интересно это всё оставлять? Попробуем мы намутить панельку и кнопарик чтобы не париться каждый раз набирая команды вручную.

Чтобы у нас получилась кнопка нам надо создать действие. Очищаем тестер сценариев и пишем:

action.create -t=generic ("nowplaying",$tr("Demo song"),$tr("Demo song"),"a_a.png","")
{
	np
}


Теперь разберём что тут у нас получилось.
action.create это команда создания действия. Дальше идут параметры нашего действия. -t=generic — группа к которой относится наше действие. («nowplaying»,$tr(«Demo song»),$tr(«Demo song»),«a_a.png»,"") — («имя действия»,$tr(метка нашего действия),$tr(видимое краткое описание нашего действия),«иконка используемая для кнопки»,""), ну и само собой между {} у нас исполняемая часть. В данном случае мы вызываем алиас np.
Чтобы всё записалось выполняем наш скрипт нажав выполнить. Прикольно конечно, но ничего не видно. А почему? Кнопку то мы создали, а вот не разместили где надо. Чтобы это сделать нам надо создать панель и поместить на неё нашу кнопочку.

Ну само собой снова рисуем в тестере.

toolbar.create now_playing nowplaying_panel
toolbar.additem now_playing nowplaying


toolbar.create now_playing nowplaying_panel — команда создания новой панели. Синтаксис таков toolbar.create идентификатор_панели метка
toolbar.additem now_playing nowplaying — синтаксис таков toolbar.additem идентификатор_панели_на которую_добавляем метка_добавляемого_действия.

Чтобы увидеть нашу панельку мы всего-то набираем в строке сообщений /toolbar.show now_playing и наслаждаемся своим творением.

В следующий раз мы добавим на нашу панель кнопки управления проигрывателем и попробуем сделать нашу строку демонстрации настраиваемой.

Комментарии (0)

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.