code: func (p *Plugin) Schedule(in *Msg, content string, sendat time.Time) error {
  	if sendat.Before(time.Now()) {
  		return errors.New("cannot schedule time in the past")
  	}
  	q := `INSERT INTO scheduledevents (content, flexid, flexidtype, sendat,
  		pluginname)
  	      VALUES ($1, $2, $3, $4, $5)`
  	_, err := p.DB.Exec(q, content, in.User.FlexID, in.User.FlexIDType, sendat, p.Config.Name)
  	return err
  }
docs: // Schedule a message to the user to be delivered at a future time. This is
  // particularly useful for reminders. The method of delivery, e.g. SMS or
  // email, will be determined automatically by Abot at the time of sending the
  // message. Abot will contact the user using that user's the most recently used
  // communication method. This method returns an error if the event could not be
  // scheduled.