sipeed/picoclaw · error

telegram draft update: %w

Error message

telegram draft update: %w

What it means

Error "telegram draft update: %w" thrown in sipeed/picoclaw.

Source

Thrown at pkg/channels/telegram/telegram.go:1718

		return nil
	}

	htmlContent := markdownToTelegramHTML(content)
	s.draftTouched = true

	err := s.bot.SendMessageDraft(ctx, &telego.SendMessageDraftParams{
		ChatID:          s.chatID,
		MessageThreadID: s.threadID,
		DraftID:         s.draftID,
		Text:            htmlContent,
		ParseMode:       telego.ModeHTML,
	})
	if err != nil {
		logger.WarnCF("telegram", "sendMessageDraft failed, disabling streaming", map[string]any{
			"error": err.Error(),
		})
		s.failed = true
		return fmt.Errorf("telegram draft update: %w", err)
	}

	s.lastLen = len(content)
	s.lastAt = now
	return nil
}

func (s *telegramStreamer) Finalize(ctx context.Context, content string) error {
	htmlContent := markdownToTelegramHTML(content)
	tgMsg := tu.Message(tu.ID(s.chatID), htmlContent)
	tgMsg.MessageThreadID = s.threadID
	tgMsg.ParseMode = telego.ModeHTML

	if _, err := s.bot.SendMessage(ctx, tgMsg); err != nil {
		// Fallback to plain text
		tgMsg.ParseMode = ""
		if _, err = s.bot.SendMessage(ctx, tgMsg); err != nil {
			logger.ErrorCF("telegram", "Finalize failed after HTML and plain-text attempts", map[string]any{

View on GitHub (pinned to 49183d7e8d)

When it happens

Trigger: Thrown at pkg/channels/telegram/telegram.go:1718 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of sipeed/picoclaw@49183d7e8d (2026-08-15). Data as JSON: /api/errors/f88fd7a0358b1ccc. Report an issue: GitHub.