# Description: extra commands for opers on bahamut and hybrid

procs command_wallops command_operwall command_kill command_oper command_down \
      command_kline command_unkline command_squit command_connect command_rehash \
      command_chatops command_sclose command_die command_globops command_htm \
      command_locops command_sset command_samode command_zline command_connect \
      command_ltrace command_hash command_dline command_gline command_testline command_dns


proc command_wallops {window line} {
    Send "WALLOPS :$line"
}

proc command_operwall {window line} {
    Send "OPERWALL :$line
}

proc command_kill {window line} {
    set line [split [string trimleft $line]]
    Send "KILL [lindex $line 0] :[join [lrange $line 1 end]]"
}

proc command_oper {window line} {
    global me
    Send "OPER $me $line"
}

proc command_down {window line} {
    global me
    Send "MODE $me -o"
}

proc command_kline {window line} {
    set line [split [string trimleft $line]]
    Send "KLINE [lindex $line 0] :[join [lrange $line 1 end]]"
}

proc command_unkline {window line} {
    Send "UNKLINE $line"
}

proc command_squit {window line} {
    Send "SQUIT $line"
}

proc command_connect {window line} {
    Send "CONNECT $line"
}

proc command_rehash {window line} {
    Send "REHASH $line"
}

proc command_chatops {window line} {
    send "CHATOPS :$line"
}

proc command_sclose {window line} {
    Send "CLOSE"
}

proc command_die {window line} {
    Send "DIE $line"
}

proc command_globops {window line} {
    Send "GLOBOPS :$line"
}

proc command_htm {window line} {
    Send "HTM $line"
}

proc command_locops {window line} {
    Send "LOCOPS :$line"
}

proc command_sset {window line} {
    Send "SET $line"
}

proc command_samode {window line} {
    Send "SAMODE $line"
}

proc command_zline {window line} {
    set line [split [string trimleft $line]]
    Send "ZLINE [lindex $line 0] :[join [lrange $line 1 end]]"
}

proc command_ltrace {window line} {
    Send "LTRACE $line"
}

proc command_hash {window line} {
    Send "HASH"
}

proc command_dline {window line} {
    set line [split [string trimleft $line]]
    Send "DLINE [lindex $line 0] :[join [lrange $line 1 end]]"
}

proc command_gline {window line} {
    set line [split [string trimleft $line]]
    Send "GLINE [lindex $line 0] :[join [lrange $line 1 end]]"
}

proc command_testline {window line} {
    Send "TESTLINE $line"
}

proc command_dns {window line} {
    Send "DNS"
}

proc unload {} {}
