Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

KVirc scripting - IRCop mode

div.main {margin-left: 20pt; margin-right: 20pt}KVirc scripting - IRCop mode

Источник: http://nix.h1.ru

Автор: SHuRuP
email: mailto:shurup@xakep.ru?subject=nix
www: http://nix.h1.ru/
icq: 76011665

  Продолжая тему написания скриптов в KVirc'е, я решил привести пример скрипта для IRCop'ов, названный [IRCop mode].
IRCop mode - простой скрипт, предназначенный для того, чтобы становится IRCop'ом, используя /oper. Он был написан мною чтобы наглядно показать, как реализовывать диалог (правда достаточно примитивный) с пользователем в KVirc. Его цель заключается в сборе информации, набранной пользователем, и последующей передачи ее в команду, посылаемую серверу. Также в данном скрипте демонстрируются возможности разветвления в случае различных вариантов ответов.
Итак, чтобы использовать этот скрипт надо создать alias (советую /o или /ircop) и скопировать туда исходный текст [IRCop mode] (см. далее). Alias создается в Script Center -> Aliases -> New, затем Change name и там пишется код скрипта. Вот и сам скрипт (спецаильно пронумерован построчно):

  1 #IRCop mode script written by SHuRuP.rpm
  2 #All comments send to shurup@xakep.ru
  3 #Visit http://nix.h1.ru to see the last version
  4
  5 #set the ircop status off
  6 %ircopmode[status] = 0;
  7
  8 #set the [IRCop mode] nick
  9 dialog(lineinput,"IRCop mode [nick]","Enter your IRCop nick:",%ircopmode[nick]){
  10 if ("$dialogresult" == ""){
  11 echo "[$B IRCop mode $B] Set the true nick, please."
  12 echo "[$B IRCop mode $B] IRCop mode is OFF now!";
  13 halt;
  14 } else {
  15 %ircopmode[nick] = $dialogresult;
  16 echo "[$B IRCop mode $B] Your IRCop nick is %ircopmode[nick] now!";
  17 }
  18
  19 #check the [IRCop mode] nick
  21 echo "[$B IRCop mode $B] Checking your nickname... If it isn't IRCop nick, it will be changed (IRCop nick is$B %ircopmode[nick]$B).";
  22 nick %ircopmode[nick];
  23
  24 #set the [IRCop mode] password
  25 dialog(lineinput,"IRCop mode [pass]","Enter your IRCop password:",%ircopmode[pass]){
  26 if ("$dialogresult" == ""){
  27 echo "[IRCop mode] Set the true password, please.";
  28 echo "[$B IRCop mode $B] IRCop mode is OFF now!";
  29 halt;
  30 } else {
  31 %ircopmode[pass] = $dialogresult;
  32 echo "[$B IRCop mode $B] Your IRCop password has been successfully set!";
  33 }
  34 #oper
  35 oper $me %ircopmode[pass];
  36 echo "[$B IRCop mode $B] Opering $me now...";
  37
  38 #set the ircop mode status on   39 %ircopmode[status] = 1;
  40 echo "[$B IRCop mode $B] IRCop mode is ON now!";
  41 }
  42 }

  Строки 1, 2, 3, 5, 8, 19, 24, 34, 38 - краткие комментарии в скрипте, которые также, как и 4, 7, 18, 23, 37 созданы для удобства при рассмотрении кода. 6 строка - установка статуса IRCop mode, как выключенного. 9-17 - создание ника IRCop'а (в этой стадии появляется окошко, в котором надо ввести nick; в случае введения нажатия отмены или если поле остается пустым, скрипт прекращает свою работу). 21-22 - поверка ника: происходит изменение ника на указанный пользователем раннее, если в данный момент у него другой ник. 24-33 - аналогично, 9-17, только здесь создается пароль. 34-36 - происходит /oper с введенными пользователем данными (ник+пароль). 38-42 - включение IRCop mode.

  Главным достоинством этого скрипта является удобство для стандартных пользователей, например, если существует статус иркопа на одной из irc-сетей. Очень просто потом настроить все свои скрипты именно для этой сети с условием, что есть иркоп. Вот пример такого скрипта, событие OnMeKick:

  if ("%ircopmode[status]" == "1") {
  notice $2 why did you kick me? don't do this the next time... |SHuRuP scripting [$B IRCop mode $B]|
  mode $1 +b *!*@$4
  kick $1 $2 |SHuRuP scripting [$B IRCop mode $B]|
  join $1
  } else {
  notice $2 why did you kick me? don't do this the next time... |SHuRuP scripting|
  join $1
  mode $1 +b *!*@$4
  kick $1 $2 |SHuRuP scripting|
  }

  Символы "" используются перед всеми символами, которые не являются простыми и могут восприняты, как составные скрипта, а не просто текста. В первом случае бан+кик используется сразу после кика, даже не перезаходя на канал, что позволяют IRCop возможности.

  Исходные тексты:
[IRCop mode]
OnMeKick (simple+ircop)


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2021
    Реклама на сайте