소스 검색

- make trigger a variable for easier editing/help output
- add "$query is" to beginning of definition

horgh 16 년 전
부모
커밋
f02a54359e
1개의 변경된 파일8개의 추가작업 그리고 6개의 파일을 삭제
  1. 8 6
      slang.tcl

+ 8 - 6
slang.tcl

@@ -13,7 +13,8 @@ package require htmlparse
 package require http
 
 namespace eval ud {
-	bind pub -|- "slang" ud::trigger
+	# set this to !ud or whatever you want
+	variable trigger "slang"
 
 	# maximum lines to output
 	variable max_lines 1
@@ -26,9 +27,10 @@ namespace eval ud {
 	variable def_regexp {id='entry_(.*?)'>.*?<div class='definition'>(.*?)</div>}
 
 	setudef flag ud
+	bind pub -|- $ud::trigger ud::handler
 }
 
-proc ud::trigger {nick uhost hand chan argv} {
+proc ud::handler {nick uhost hand chan argv} {
 	if {![channel get $chan ud]} { return }
 	if {[string is digit [lindex $argv 0]]} {
 		set number [lindex $argv 0]
@@ -39,7 +41,7 @@ proc ud::trigger {nick uhost hand chan argv} {
 	}
 
 	if {$query == ""} {
-		$ud::output_cmd "PRIVMSG $chan :Usage: slang \[#\] <definition to look up>"
+		$ud::output_cmd "PRIVMSG $chan :Usage: $ud::trigger \[#\] <definition to look up>"
 		return
 	}
 
@@ -76,15 +78,15 @@ proc ud::fetch {query number} {
 		error "[llength $definitions] definitions found."
 	}
 
-	return [ud::parse [lindex $definitions [expr {$number - 1}]]]
+	return [ud::parse $query [lindex $definitions [expr {$number - 1}]]]
 }
 
-proc ud::parse {raw_definition} {
+proc ud::parse {query raw_definition} {
 	regexp $ud::def_regexp $raw_definition -> number definition
 	set definition [htmlparse::mapEscapes $definition]
 	set definition [regsub -all -- {<.*?>} $definition ""]
 	set definition [regsub -all -- {\n+} $definition " "]
-	return [list number $number definition $definition]
+	return [list number $number definition "$query is $definition"]
 }
 
 # by fedex