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 } }