func createFormForEverybody(formMessage *slack.MessageEvent, api *slack.Slack) { users, err := api.GetUsers() if err != nil { fmt.Println("Channel err ", err) } for _, user := range users { //create user form DONE //send dm to fill out form DONE formResp := createFormForUser(formMessage, user.Id) if user.Name == "typebot" || user.Id == "U085QG8D7" { continue } _, _, chanId, err := api.OpenIMChannel(user.Id) if err != nil { fmt.Println("IM err ", err) } fmt.Println("formResp ", formResp) formDM := fmt.Sprintf("A form has been created, go fill it out! %v", formResp.Links[1].Href) api.PostMessage(chanId, formDM, slack.PostMessageParameters{ AsUser: true, }) } }
func dumpUsers(api *slack.Slack, dir string) { users, err := api.GetUsers() check(err) data, err := MarshalIndent(users, "", " ") check(err) err = ioutil.WriteFile(path.Join(dir, "users.json"), data, 0644) check(err) }
func dmAll(message string, api *slack.Slack) { users, err := api.GetUsers() if err != nil { fmt.Println("Channel err ", err) } for _, user := range users { if user.Name == "typebot" { continue } _, _, chanId, err := api.OpenIMChannel(user.Id) if err != nil { fmt.Println("IM err ", err) } api.PostMessage(chanId, message, slack.PostMessageParameters{ AsUser: true, }) } }
func updateUsers(s *slack.Slack, db *sql.DB) error { users, err := s.GetUsers() if err != nil { return err } for _, u := range users { fmt.Printf("%s : %s\n", u.Name, u.ID) _, err := db.Exec( `INSERT INTO users(id, name, icon_url, created_at, updated_at) VALUES(?, ?, ?, NOW(), NOW()) ON DUPLICATE KEY UPDATE name = VALUES(name), icon_url = VALUES(icon_url), updated_at = NOW() `, u.ID, u.Name, u.Profile.Image72) if err != nil { return nil } } return nil }