code: func (bot *BotAPI) RestrictChatMember(config RestrictChatMemberConfig) (APIResponse, error) {
  	v := url.Values{}
  
  	if config.SuperGroupUsername != "" {
  		v.Add("chat_id", config.SuperGroupUsername)
  	} else if config.ChannelUsername != "" {
  		v.Add("chat_id", config.ChannelUsername)
  	} else {
  		v.Add("chat_id", strconv.FormatInt(config.ChatID, 10))
  	}
  	v.Add("user_id", strconv.Itoa(config.UserID))
  
  	if config.CanSendMessages != nil {
  		v.Add("can_send_messages", strconv.FormatBool(*config.CanSendMessages))
  	}
  	if config.CanSendMediaMessages != nil {
  		v.Add("can_send_media_messages", strconv.FormatBool(*config.CanSendMediaMessages))
  	}
  	if config.CanSendOtherMessages != nil {
  		v.Add("can_send_other_messages", strconv.FormatBool(*config.CanSendOtherMessages))
  	}
  	if config.CanAddWebPagePreviews != nil {
  		v.Add("can_add_web_page_previews", strconv.FormatBool(*config.CanAddWebPagePreviews))
  	}
  	if config.UntilDate != 0 {
  		v.Add("until_date", strconv.FormatInt(config.UntilDate, 10))
  	}
  
  	bot.debugLog("restrictChatMember", v, nil)
  
  	return bot.MakeRequest("restrictChatMember", v)
  }
docs: // RestrictChatMember to restrict a user in a supergroup. The bot must be an
  //administrator in the supergroup for this to work and must have the
  //appropriate admin rights. Pass True for all boolean parameters to lift
  //restrictions from a user. Returns True on success.