on *:TEXT:!jp *:#Admin:{
; Check if the db is open, if not open it!
if (!$sqlite_is_valid_conn(%hiragana_db)) {
set %hiragana_db $sqlite_open_memory(hiragana.db)
}
; Do the magic
var %i = 1, %len = $len($2), %jpname
while (%i <= %len) {
var %sql = SELECT sym, length(seq) AS len FROM hiragana WHERE seq IN ( $sqlite_qt($mid($2,%i,1)) , $sqlite_qt($mid($2,%i,2)) , $sqlite_qt($mid($2,%i,3)) )
var %res = $sqlite_query(%hiragana_db, %sql)
if ($sqlite_fetch_row(%res, hiragana)) {
%jpname = %jpname $+ $hget(hiragana, sym)
inc %i $hget(hiragana, len)
}
else {
%jpname = $null
}
sqlite_free_res %res
if (!%jpname) break
}
if (%jpname) {
msg $chan Success: %jpname
}
else {
msg $chan Failure
}
}