code: func (conn *Conn) Ctcp(t, ctcp string, arg ...string) {
  	// We need to split again here to ensure
  	for _, s := range splitMessage(strings.Join(arg, " "), conn.cfg.SplitLen) {
  		if s != "" {
  			s = " " + s
  		}
  		// Using Raw rather than PRIVMSG here to avoid double-split problems.
  		conn.Raw(PRIVMSG + " " + t + " :\001" + strings.ToUpper(ctcp) + s + "\001")
  	}
  }
docs: // Ctcp sends a (generic) CTCP message to the target nick
  // or channel t, with an optional argument.
  //     PRIVMSG t :\001CTCP arg\001