// 向特定GroupId用户群发图文消息
353248
func (this *Weixinmp) sendNewsToGroup(groupId string, mediaId string) error {
	var news newsGroupMsg
	news.MsgType = "mpnews"
	news.Filter.IsToAll = false
	news.Filter.GroupId = groupId
	news.Mpnews.MediaId = mediaId
	return this.sendGroupMsg(news)
}
430694
func (s *CreateGroupVersionInput) SetGroupId(v string) *CreateGroupVersionInput {
	s.GroupId = &v
	return s
}
217437
func (s *ResetDeploymentsInput) SetGroupId(v string) *ResetDeploymentsInput {
	s.GroupId = &v
	return s
}
652797
func (s *GroupDetail) SetGroupId(v string) *GroupDetail {
	s.GroupId = &v
	return s
}
433066
func (s *GetGroupCertificateConfigurationOutput) SetGroupId(v string) *GetGroupCertificateConfigurationOutput {
	s.GroupId = &v
	return s
}
413284
func (s *RevokeIpRulesInput) SetGroupId(v string) *RevokeIpRulesInput {
	s.GroupId = &v
	return s
}
609508
func (g *Group) File(path, file string) {
	g.file(g.prefix+path, file, g.GET)
}
1191878
func (c *file) ID() (string, error) {
	checkF := func() (string, error) {
		f, err := os.Open(c.path)
		if err != nil {
			return "", err
		}

		data, err := ioutil.ReadAll(f)
		if err != nil {
			return "", err
		}

		val := strings.TrimSpace(string(data))
		if len(val) == 0 {
			return "", errHostIDFileEmpty
		}

		return val, nil
	}

	if c.timeout == nil {
		return checkF()
	}

	interval := c.interval
	if interval == 0 {
		interval = defaultFileCheckInterval
	}

	startT := time.Now()
	for time.Since(startT) < *c.timeout {
		v, err := checkF()
		if err == nil {
			return v, nil
		}

		time.Sleep(interval)
	}

	return "", fmt.Errorf("did not find value in %s within %s", c.path, c.timeout)
}
898524
func NewSelectGroupId(id string) SelectGroup {
	selector := "select#" + id
	result := selectGroupImpl{selector: selector}
	if TestMode {
		result.dom = newTestOps()
	} else {
		result.dom = wrap(jquery.NewJQuery(selector))
	}
	result.attr = NewAttribute(VALUE_ONLY, result.value, nil)
	result.dom.On(CLICK, func(jquery.Event) {
		result.attr.markDirty()
	})
	return result
}
350531
func (s *UpdateGroupCertificateConfigurationInput) SetGroupId(v string) *UpdateGroupCertificateConfigurationInput {
	s.GroupId = &v
	return s
}
1301176
func (s *SendMessageBatchRequestEntry) SetMessageGroupId(v string) *SendMessageBatchRequestEntry {
	s.MessageGroupId = &v
	return s
}
899906
func (s *GroupsService) DeleteGroupDescription(groupID string) (*Response, error) {
	u := fmt.Sprintf("groups/%s/description'", groupID)
	return s.client.DeleteRequest(u, nil)
}
725045
func (g *Group) File(path, file string) {
	g.server.File(g.prefix+path, file)
}
713598
func (c *Client) GetFirewallGroup(id string) (FirewallGroup, error) {
	groups, err := c.GetFirewallGroups()
	if err != nil {
		return FirewallGroup{}, err
	}

	for _, g := range groups {
		if g.ID == id {
			return g, nil
		}
	}
	return FirewallGroup{}, fmt.Errorf("Firewall group with ID %v not found", id)
}
711185
func (a *Asm) SetGroupID(groupID int) *Asm {
	a.GroupID = groupID
	return a
}
93673
func (s *DeleteIpGroupInput) SetGroupId(v string) *DeleteIpGroupInput {
	s.GroupId = &v
	return s
}
240408
func (c *Client) Group(msg *Group) error {
	if msg.GroupId == "" {
		return errors.New("You must pass a 'groupId'.")
	}

	if msg.UserId == "" && msg.AnonymousId == "" {
		return errors.New("You must pass either an 'anonymousId' or 'userId'.")
	}

	msg.Type = "group"
	c.queue(msg)

	return nil
}