func (s *t) snarf(conn *irc.Connection, msg *irc.Message) { if msg.String() == "" { return } stmt, err := s.db.Prepare( fmt.Sprintf("select id from %s where nick like ?", tableName)) defer stmt.Finalize() if err != nil { log.Printf("seen.snarf() 1: sql error: %s", err) return } stmt.Exec(msg.Nick) found := stmt.Next() if found { var id int stmt.Scan(&id) stmt.Reset() stmt, err = s.db.Prepare( fmt.Sprintf("update %s set datetime = ?, message = ? where id = ?", tableName)) if err != nil { log.Printf("seen.snarf() 2: sql error: %s", err) return } stmt.Exec(time.Seconds(), msg.String(), id) stmt.Next() } else { stmt.Reset() stmt, err = s.db.Prepare( fmt.Sprintf("insert into %s (datetime, nick, message) values(?, ?, ?)", tableName)) if err != nil { log.Printf("seen.snarf() 3: sql error: %s", err) return } stmt.Exec(time.Seconds(), msg.Nick, msg.String()) stmt.Next() } }