{"id":"5e1e034e2b7dafff","repo":"go-redis/redis","slug":"redis-unsupported-pubsub-message-payload-t","errorCode":null,"errorMessage":"redis: unsupported pubsub message payload: %T","messagePattern":"redis: unsupported pubsub message payload: %T","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pubsub.go","lineNumber":463,"sourceCode":"\t\t\t\t\tPayload: payload,\n\t\t\t\t}\n\t\t\t\t// Record PubSub message received\n\t\t\t\totel.RecordPubSubMessage(ctx, cn, \"received\", channel, sharded)\n\t\t\t\treturn msg, nil\n\t\t\tcase []interface{}:\n\t\t\t\tss := make([]string, len(payload))\n\t\t\t\tfor i, s := range payload {\n\t\t\t\t\tss[i] = s.(string)\n\t\t\t\t}\n\t\t\t\tmsg := &Message{\n\t\t\t\t\tChannel:      channel,\n\t\t\t\t\tPayloadSlice: ss,\n\t\t\t\t}\n\t\t\t\t// Record PubSub message received\n\t\t\t\totel.RecordPubSubMessage(ctx, cn, \"received\", channel, sharded)\n\t\t\t\treturn msg, nil\n\t\t\tdefault:\n\t\t\t\treturn nil, fmt.Errorf(\"redis: unsupported pubsub message payload: %T\", payload)\n\t\t\t}\n\t\tcase \"pmessage\":\n\t\t\tchannel := reply[2].(string)\n\t\t\tmsg := &Message{\n\t\t\t\tPattern: reply[1].(string),\n\t\t\t\tChannel: channel,\n\t\t\t\tPayload: reply[3].(string),\n\t\t\t}\n\t\t\t// Record PubSub message received (pattern message, not sharded)\n\t\t\totel.RecordPubSubMessage(ctx, cn, \"received\", channel, false)\n\t\t\treturn msg, nil\n\t\tcase \"pong\":\n\t\t\treturn &Pong{\n\t\t\t\tPayload: reply[1].(string),\n\t\t\t}, nil\n\t\tdefault:\n\t\t\treturn nil, fmt.Errorf(\"redis: unsupported pubsub message: %q\", kind)\n\t\t}","sourceCodeStart":445,"sourceCodeEnd":481,"githubUrl":"https://github.com/go-redis/redis/blob/36d97525cd8076aed67cddf54778e9ea84550929/pubsub.go#L445-L481","documentation":"Error \"redis: unsupported pubsub message payload: %T\" thrown in go-redis/redis.","triggerScenarios":"Thrown at pubsub.go:463 when the library encounters an invalid state.","commonSituations":"Prefer the typed Channel()/ReceiveMessage APIs over raw payload inspection.","solutions":["Handle the payload type in the error with a type switch in your message processing","Use ReceiveMessage for typed message delivery instead of raw payloads"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"36d97525cd8076aed67cddf54778e9ea84550929","analyzedAt":"2026-08-06T01:08:27.376Z","schemaVersion":2}