Название:

Decoder Hex IP v1.1

Автор:

Epic

Назначение:

[mark=#EEF7FF]Скрипт для mIRC v7+ [/mark]

Описание:

  • Расшифровывает IР-адрес закодированный в шестнадцатеричном формате, который находится в идентификаторе пользователя. Скрипт срабатывает автоматически, как только пользователь присоединяется к каналу.

  • Каждый раз, когда ваш бот будет присоединяться к новому каналу, он будет выполнять команду "/who #channel". Это необходимо для получения данных пользователей для корректной работы идентификатора $address.

  • Есть возможность ввода команды, синтаксис: "!hex ‹nick|ident›". Вы можете узнать IР-адрес по ID, даже когда пользователь уже отключился от сети. Это будет работать правильно, только если идентификатор пользователя закодирован в 8-символьном шестнадцатеричном формате. Некоторые вебгейты, такие как "Mibbit" делают это. Но имейте в виду, что идентификатор пользователя может быть случайным набором символов. В таком случае этот скрипт не будет работать или будет давать неверный адрес. Следовательно, в переменной "%di_target" вы должны указать только те значения для поиска в хосте, которые подходят для этого, чтобы скрипт давал только правильный результат.

  • Вы можете выбрать способ отправки сообщения скриптом между "/msg", "/notice", "/echo" или отправить его на указанный сервисный канал при помощи "/msg #Services". Просто удалите знак ";" перед соответствующей строкой внизу кода.

Настройка:

Вы можете создать свой список слов в переменной "%di_target" разделённые пробелами, на которые будет срабатывать скрипт, если одно из них будет присутствовать в хосте пользователя.

Скриншот:

https://i.ibb.co/9swH8d2/DecoderIP.jpg


Установка:

Откройте редактор скриптов при помощи комбинации клавиш "ALT+R" и сохраните этот код как новый "File/New" под названием "DecoderHexIP.mrc".
Если у вас уже установлена предыдущая версия этого скрипта, то замените его новым кодом.

Код скрипта:

💾 DecoderHexIP_v1.1.rar

Код:
#####################################################################
#   Название: Decoder Hex IP v1.1
#   Автор: Epic (epicnet@mail.ru, http://epicnet.ru)
#   Описание: Расшифровывает IP-адрес закодированный в шестнадцатеричном формате, который находится в идентификаторе пользователя.
#   Команда: !hex <nick|ident>
#####################################################################

on *:JOIN:#: if ($nick == $me) { %di_who = true | .who $chan } | else dec_ip $nick $chan $me join
on *:TEXT:!hex*:#: if ($2) { dec_ip $2 $chan $nick text } | else .notice $nick Синтаксис: !hex <nick/ident>
raw 352:*: if (%di_who == true) haltdef
raw 315:*: if (%di_who == true) { haltdef | unset %di_who }
alias -l dec_ip {
  ;------------------------------
  %di_target = webgate. .mibbit .virtual
  ;------------------------------
  var %di_value $strip($1)
  if ($comchan(%di_value,0) > 0) {
    var %di_nick %di_value | var %di_host $gettok($address(%di_nick,2),2,64)
    var %di_ident $remove($gettok($address(%di_nick,1),1,64),*!*)
    if ($di_check(%di_nick,%di_host) == true && $len(%di_ident) == 8) {
      var %di_ip $longip($base(%di_ident,16,10))
      var %di_return DecoderHexIP: $+(06,%di_nick,) -> $+(%di_ident,@,04,%di_ip,) -> $+($chr(40),%di_host,$chr(41))
    }
  }
  if ($comchan(%di_value,0) == 0 && $len(%di_value) == 8) {
    var %di_ip $longip($base(%di_value,16,10))
    var %di_return DecoderHexIP: $+(06,%di_value,) -> $+(04,%di_ip,)
  }
  if (%di_return) di_message $1 $2 $3 %di_return
}
alias -l di_check {
  var %di_q 1 | while (%di_q <= $numtok(%di_target,32)) {  
    if ($gettok(%di_target,%di_q,32) isin $2) return true | inc %di_q
  }
  return false
}
alias -l di_message {
  ;/echo $2 $4-
  ;/notice $3 $2 $4-
  ;/msg #Services $2 $4-
  /msg $2 $4-
}


Если у вас возникли вопросы, вы столкнулись с трудностями по установке скрипта, или вы обнаружили ошибки, а может быть у вас появились новые идеи по модификации данного скрипта, то обязательно напишите здесь об этом.

Подпись автора

[html]<style>img {vertical-align:middle;}.hnet{color:#FFFFFF;}.hstar{color:#DE0000;}.htext{font-family:Verdana;font-size:13px;color:#6E1E00;}.heading{font-family:Verdana;font-size:13px;font-weight:bold;background-color:#4898CD;}.stitle{font-family:Verdana;font-size:12px;}.dot{color:#808000;}.desc{color:#B5B5B5;}a .curl{font-family:Verdana;font-size:12px;color:#3A92CD;}</style><table><tr><td width="20px" height="20px"><img src="http://forumstatic.ru/files/000d/c9/8c/34681.jpg"></td><td><a href="https://forum.epicnet.ru/viewtopic.php?id=234"><span class="heading"> <span class="hstar">★</span> <span class="hnet">EpicNet.Ru</span> <span class="hstar">★</span> </span><span class="htext"> - Российский IRC Чат © 2009-2021</span></a></td></tr><tr><td></td><td><div class="stitle"><span class="dot">•</span> <span class="desc">Онлайн:</span> <a href="http://chat.epicnet.ru"><span class="curl">http://chat.epicnet.ru</span></a><br><span class="dot">•</span> <span class="desc">Сервер:</span> irc.epicnet.ru <span class="desc">Порты:</span> 6667, 6668 (ssl) <span class="desc">Кодировка:</span> UTF-8<br><span class="dot">•</span> <span class="desc">Сайт:</span> <a href="http://epicnet.ru"><span class="curl">http://epicnet.ru</span></a> <span class="dot">•</span> <span class="desc">ВКонтакте:</span> <a href="https://vk.com/irc_epicnet"><span class="curl">https://vk.com/irc_epicnet</span></a><br><div></td></tr></table>[/html]