Skip to content

Instantly share code, notes, and snippets.

@westor7
Last active April 12, 2023 19:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save westor7/22db6c925a8a8086b1f192f05860199c to your computer and use it in GitHub Desktop.
Save westor7/22db6c925a8a8086b1f192f05860199c to your computer and use it in GitHub Desktop.
Check for AdiIRC build-in Identifier/Command for Koragg
ON *:START: { get_buildin }
ON *:SOCKOPEN:adiirc_buildin_identifiers: {
if ($sockerr) { echo 4 -at Error: Could not connect to the server to retrieve adiirc build-in identifiers list! | return }
sockwrite -nt $sockname GET /projects/adiirc/wiki/Scripting_Identifiers HTTP/1.1
sockwrite -nt $sockname Host: $sock($sockname).addr
sockwrite -nt $sockname Connection: Close
sockwrite -nt $sockname $crlf
}
ON *:SOCKREAD:adiirc_buildin_identifiers: {
if ($sockerr) { echo 4 -at Error: Could not parse the server data to retrieve adiirc build-in identifiers list! | return }
var %r
sockread %r
; echo 4 -sg READ: %r
if (*<ul class="conthead">* iswm %r) {
var %v = $replace(%r,"> $+ $chr(36),$chr(166) $+ $chr(36))
var %t = $numtok(%v,166)
var %i = 1
while (%i <= %t) {
var %c = $gettok($gettok(%v,%i,166),1,60)
if (!%c) || ($left(%c,1) !== $chr(36)) { goto next }
hadd BUILDIN_IDENTIFIERS %c 1
:next
inc %i
}
}
if (*"Missing-Identifiers"* iswm %r) { sockclose $sockname }
}
ON *:SOCKOPEN:adiirc_buildin_commands: {
if ($sockerr) { echo 4 -at Error: Could not connect to the server to retrieve adiirc build-in commands list! | return }
sockwrite -nt $sockname GET /projects/adiirc/wiki/Scripting_Commands HTTP/1.1
sockwrite -nt $sockname Host: $sock($sockname).addr
sockwrite -nt $sockname Connection: Close
sockwrite -nt $sockname $crlf
}
ON *:SOCKREAD:adiirc_buildin_commands: {
if ($sockerr) { echo 4 -at Error: Could not parse the server data to retrieve adiirc build-in commands list! | return }
var %r
sockread %r
; echo 4 -sg READ %r
if (*<ul class="conthead">* iswm %r) {
var %v = $replace(%r,">/,$chr(166),</a>,$chr(166))
var %t = $numtok(%v,166)
var %i = 1
while (%i <= %t) {
var %c = $gettok(%v,%i,166)
if (!%c) || (*<* iswm %c) || (*>* iswm %c) { goto next }
hadd BUILDIN_COMMANDS $chr(47) $+ %c 1
:next
inc %i
}
}
if (*"System-information-Commands"* iswm %r) { sockclose $sockname }
}
alias get_buildin {
; /get_buildin
if ($hget(BUILDIN_IDENTIFIERS)) { hfree $v1 }
if ($hget(BUILDIN_COMMANDS)) { hfree $v1 }
hmake BUILDIN_IDENTIFIERS 1000
hmake BUILDIN_COMMANDS 1000
var %s1 = adiirc_buildin_identifiers
var %s2 = adiirc_buildin_commands
if ($sock(%s1)) { sockclose $v1 }
if ($sock(%s2)) { sockclose $v1 }
sockopen -e %s1 dev.adiirc.com 443
sockopen -e %s2 dev.adiirc.com 443
}
alias check_buildin_identifier {
; $check_buildin_identifier(me)
var %h = BUILDIN_IDENTIFIERS
if (!$1) || (!$hget(%h,0).item) { return }
var %r = $hget(%h,$($) $+ $1)
return $iif(%r,1,0)
}
alias check_buildin_command {
; $check_buildin_command(zip)
var %h = BUILDIN_COMMANDS
if (!$1) || (!$hget(%h,0).item) { return }
var %r = $hget(%h,$(/) $+ $1)
return $iif(%r,1,0)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment