func (m *Message) ToMiniProgram() (*MiniProgram, error) {
    if m.Type() != schemas.MessageTypeMiniProgram {
        return nil, errors.New("message not a MiniProgram")
    }
    miniProgramPayload, err := m.GetPuppet().MessageMiniProgram(m.id)