chenhg5/cc-connect · error

%s: get message failed code=%d msg=%s

Error message

%s: get message failed code=%d msg=%s

What it means

A Feishu GetMessage API call succeeded at transport level but returned an application error (non-zero code from Lark), after transient-retry and token-refresh retries were exhausted. Embeds the Lark code and message; commonly means the message_id is invalid/deleted or the bot lacks read permission.

Source

Thrown at platform/feishu/feishu.go:1148

	if p.client == nil {
		return false, fmt.Errorf("%s: client not initialized", p.tag())
	}

	req := larkim.NewGetMessageReqBuilder().
		MessageId(messageID).
		UserIdType(larkim.UserIdTypeGetMessageOpenId).
		Build()

	var resp *larkim.GetMessageResp
	if err := p.withTransientRetry(ctx, "get message", func() error {
		return p.withFreshTenantAccessTokenRetry(ctx, "get message", func(client *lark.Client, options ...larkcore.RequestOptionFunc) error {
			var err error
			resp, err = client.Im.Message.Get(ctx, req, options...)
			if err != nil {
				return fmt.Errorf("%s: get message api call: %w", p.tag(), err)
			}
			if !resp.Success() {
				return fmt.Errorf("%s: get message failed code=%d msg=%s", p.tag(), resp.Code, resp.Msg)
			}
			return nil
		})
	}); err != nil {
		if resp != nil && isMessageWithdrawnCode(resp.Code, resp.Msg) {
			p.markMessageRecalled(messageID)
			return true, nil
		}
		if isMessageWithdrawnError(err) {
			p.markMessageRecalled(messageID)
			return true, nil
		}
		return false, err
	}

	if resp == nil || resp.Data == nil || len(resp.Data.Items) == 0 {
		p.markMessageRecalled(messageID)
		return true, nil

View on GitHub (pinned to 4000b2338a)

Solutions

  1. Check the bot has im:message:readonly scope
  2. Treat 'message not found' as already-recalled where applicable
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at platform/feishu/feishu.go:1148 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of chenhg5/cc-connect@4000b2338a (2026-09-06). Data as JSON: /api/errors/bb002c723a44c12d. Report an issue: GitHub.