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,
		})
	}
}
Example #2
0
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,
		})
	}
}
Example #4
0
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
}